使用下面的字節寫的函數可以解決

從數據 " /> 欧美成人免费一区在线播放,最近中文字幕免费mv在线视频,激情综合五月网

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP將兩個關聯數組合并函數提高函數效率

在foreach中循環查詢數據代碼量比較少,但是性能比較低,好點的解決辦法是將id收集起來,用in一次性查詢,但是這引發了數據結構不是我們用php自帶的函數可以合并的,今天測試了一下:

使用下面的字節寫的函數可以解決

從數據庫中取出來的數據總是或多或少不符合我們心目中的數據結構,類似于下面的倆個數組,要形成SQL中類似于left join后兩個數組合并:
復制代碼 代碼如下:
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);

如果要將這兩個數組,類似于sql中的left join 關聯起來我們用什么函數呢?額我沒有找見就自己寫了
剛開始的時候,用的是嵌套循環:效率低下
復制代碼 代碼如下:
function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();
foreach($array1 as $key1 => $value1 ) {
foreach ($array2 as $key2 => $value2) {
if($value1[$field1] == $value2[$field2]) {
$ret[$key1] = array_merge($value1, $value2);
}
}
}
return $ret;
}

改進后的辦法,使用數組下標,使用兩次循環:形成類似于left join的方式
復制代碼 代碼如下:
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);

function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();

//使用數組下標的辦法
foreach ($array2 as $key => $value) {
$array3[$value[$field1]] = $value;
}
foreach ($array1 as $key => $value) {
$ret[] = array_merge($array3[$value[$field1]], $value);
}
return $ret;
}
$ret = _mergerArray($test1, $test2, 'id', 'id');
print_r($ret);exit;

打印出來結果如下:
復制代碼 代碼如下:
Array
(
[0] => Array
(
[id] => 9478137
[message] => love you
[create_time] => 1394760724
)
[1] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
[2] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
)

相當于left join了吧?

php技術PHP將兩個關聯數組合并函數提高函數效率,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91免费福利视频 | 国产成人精品午夜在线播放 | 亚洲二区在线观看 | 中文字幕日韩精品亚洲七区 | 亚洲精品高清国产一线久久97 | 欧美一区二区三区婷婷月色 | 婷婷激情亚洲 | 婷婷精品在线 | 看全色黄大色黄大片 视 | 成人一区视频 | 国产精品中文字幕在线观看 | 中文字幕一区二区三区免费视频 | 黄色在线免费观看 | 玖玖免费 | 五月天综合激情网 | 国产在线综合一区二区三区 | 久久亚洲精品玖玖玖玖 | 国产免费一区二区三区 | 男人靠女人视频无遮挡大全 | 国产精品久久久亚洲 | 美女很黄很黄免费 | 四虎永久在线观看免费网站网址 | 国产精品亚洲欧美一级久久精品 | 亚洲国产成人99精品激情在线 | 国产色视频一区二区三区 | 天天色影院 | 婷婷丁香综合网 | 六月婷婷久香在线视频 | 黄色 在线| 一本一道dvd在线播放器 | 在线观看成人免费视频 | 伊人色综| 久热精品视频在线观看99小说 | 久久精品国产大片免费观看 | 国产资源视频在线观看 | 欧美一级艳片爽快片 | 在线成人小视频 | 亚洲午夜综合网 | 大象蕉国产情侣 | 欧美精品第56页在线视频观看 | 国产精品午夜国产小视频 |