PHP通过使用两个关联数组组合函数提高函数的效率。

在Foreach循环查询数据,代码比较小,但性能相对较低。最好的解决方案是收集ID并用于查询一次,但这导致了不能与PHP自己的函数合并的数据结构。

用以下字节编写的函数可以被解决。

从数据库中提取的数据总是与我们的大脑数据结构不一致,这与下面的两个数组相似。我们需要在sql中形成两个数组组合,它们类似于左连接。
复制代码代码如下所示:
1美元=阵列(
(数组> 0)
id = 9478137,
create_time= > 1394760724
),
(数组> 1)
id = 9478138,
create_time= > 1394760725
),
(数组> 2)
id = 9478138,
create_time= > 1394760725

);
$ test2 =阵列(
(数组> 0)
id = 9478137,
消息= >爱你
),
(数组> 1)
id = 9478138,
消息= >:你

);

如果我们想关联两个数组,比如SQL中的左连接,我们使用什么函数我自己写的,没有看到。
开始时,使用嵌套循环:效率低下。
复制代码代码如下所示:
功能_mergerarray($ array1,array2美元美元美元,田,2 =){
$ =数组();
foreach(2美元美元美元key1 = value1){
foreach(美元美元美元array2 KEY2 = value2){
如果($ value1 { $田} = = $ value2 { $ Field2 }){
RET { } = key1美元美元(美元array_merge value1,value2美元);
}
}
}
返回$;
}

一种改进的方法,使用数组下标,使用两个循环:一种类似于左连接的方式
复制代码代码如下所示:
1美元=阵列(
(数组> 0)
id = 9478137,
create_time= > 1394760724
),
(数组> 1)
id = 9478138,
create_time= > 1394760725
),
(数组> 2)
id = 9478138,
create_time= > 1394760725

);
$ test2 =阵列(
(数组> 0)
id = 9478137,
消息= >爱你
),
(数组> 1)
id = 9478138,
消息= >:你

);

功能_mergerarray($ array1,array2美元美元美元,田,2 =){
$ =数组();

使用数组下标方式
foreach(美元美元美元价值的关键= array2){
美元美元美元价值array3 { } { } = $值字段;
}
foreach(2美元美元美元关键=值){
RET { } = array_merge美元(约合array3 { $价值{ } } field1美元,美元的价值);
}
返回$;
}
ret = _mergerarray美元($ test1,test2美元,'id','id');
print_r($ RET);退出;

结果如下:
复制代码代码如下所示:
阵列

{ 0 }数组

{ 9478137
{爱你
{ create_time } = > 1394760724

{ 1 }数组

{ 9478138
{想念您
{ create_time } = > 1394760725

{ 2 }数组

{ 9478138
{想念您
{ create_time } = > 1394760725



这相当于左连接,对吗