PHP-php合并2个数组为一个数组

发布于 2017-01-31 03:51:38 字数 626 浏览 1189 评论 2

$arr = array(
array(
'id' => 1,
'a' => 'a',
'b' => 'b',
),
array(
'id' => 2,
'a' => 'a',
'b' => 'b',
),
array(
'id' => 3,
'a' => 'a',
'b' => 'b',
),
);

$arr2 = array(
array(
'id' => 2,
'c' => 'c',
),
array(
'id' => 1,
'c' => 'c',
),
array(
'id' => 3,
'c' => 'c',
),
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晚风撩人 2017-07-24 13:15:17

除了循环遍历我想不到好方法。

 function my_array_bind($arr, $arr2, $bind_key='bind') {
$tmp=array();
$result=array();
foreach($arr2 as $data) {
$tmp[array_shift($data)]=$data;
}
foreach($arr as $data) {
$id=array_shift($data);
$data[$bind_key]=$tmp[$id];
$result[$id]=$data;
}
return $result;
}

偏爱自由 2017-05-08 18:23:18

array_merge

(PHP 4, PHP 5)

array_merge — 合并一个或多个数组

说明

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

Example #1 array_merge() 例子

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

以上例程会输出:

Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)

系统自带的函数

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文