我需要将 Array2
附加到 Array1
,在同一个键下合并2个数组:
Array1
(
[0] => value1
[1] => value2
[2] => value3
[3] => value4
[4] => value5
[5] => value6
[6] => value7
)
Array2
(
[0] => add1
[1] => add2
[2] => add3
[3] => add4
[4] => add5
[5] => add6
[6] => add7
)
以便 Array3
如下所示:
Array1
(
[0] => value1add1
[1] => value2add2
[2] => value3add3
[3] => value4add4
[4] => value5add5
[5] => value6add6
[6] => value7add7
)
我通过php.net搜索但我找不到任何东西。任何帮助将非常感激!提前感谢您的意见。
答案 0 :(得分:4)
array_map
docs使循环变得多余:
$arr1 = array('value1','value2','value3');
$arr2 = array('add1','add2','add3');
$merged = array_map(function($x, $y) { return $x . $y; }, $arr1, $arr2);
如果您没有PHP5.3 +(或者您不喜欢lambda),则需要在单独的函数中定义闭包,并在array_map
调用中引用该函数的名称。< / p>
答案 1 :(得分:2)
做一个循环:
if (count($arr1) == count($arr2))
{
$arr3 = array();
foreach ($arr1 as $key => $val)
$arr3 = $val . $arr2[$key];
}
else
{
echo "Arrays should be of same size!";
$arr3 = array();
for ($i = 0, $i < min(count($arr1),count($arr2)); $i++)
$arr3 = $arr1[$i] . $arr2[$i];
}
(确切的实施应取决于您的输入值)
答案 2 :(得分:1)
这样的事情:
foreach($array1 as $k=> $value){
$array3[$k] = $value . $array2[$k];
}
print_r($array3);
请注意,它只会占用$array1
所包含的项目。如果$array2
较大,则会忽略其他值。