我想要组合两个数组。我需要通过组合它们来从两个数组中获取值。
我的第一个阵列是:
Array
(
[0] => Array
(
[1] => a
[2] => 1a
)
[1] => Array
(
[1] => b
[2] => 2b
)
)
这是我的第二个阵列:
Array
(
[0] => Array
(
[1] => Aye Aye
[2] => 18
[3] => Female
[4] => Yangon
[5] => a
)
[1] => Array
(
[1] => Mg Mg
[2] => 20
[3] => Male
[4] => Mandalay
[5] => b
)
)
我想这样结合:
Array(
[0] => Array
(
[1] => a
[2] => 1a
[3] => Aye Aye
[4] => 18
[5] => Female
[6] => Yangon
[7] => a
)
[1] => Array
(
[1] => b
[2] => 2b
[3] => Mg Mg
[4] => 20
[5] => Male
[6] => Mandalay
[7] => b
)
)
我希望像第一个数组[0]和第二个数组[0]以及第一个数组[1]和第二个数组[1]那样组合。 第一个数组[0] [1]和第二个数组[0] [5]总是相同的,然后第一个数组[1] [1]和第二个数组[1] [5]也相同。 请...
答案 0 :(得分:1)
听起来像你正在寻找array_merge
或array_merge_recursive
也许更合适的是:
$result = array();
for($i=0, $j= count($arr1);$i<$j;$i++)
{//standard loop over array
$result[$i] = array_merge($arr1[$i], $arr2[$i]);
}
那应该给你你需要的东西。但是,请查看各种array_*
函数,其中总共有79个函数,可能存在一个,或者更确切地说是核心,满足您的需求。
我最接近你想要的结果,而不是太愚蠢是这样的:
$result = array();
for($i=0, $j= count($arr1);$i<$j;$i++)
{//standard loop over array
unset($arr2[$i][3]);
$arr2[$i] = array_filter($arr2[$i], 'is_string');//gets rid of all the numbers
$result[$i] = array_unique(array_merge($arr1[$i], $arr2[$i]));
}
输出:
array(2) { [0]=> array(4) { [0]=> string(1) "a" [1]=> string(2) "1a" [2]=> string(7) "Aye Aye" [3]=> string(6) "Female" } [1]=> array(4) { [0]=> string(1) "b" [1]=> string(2) "2b" [2]=> string(5) "Mg Mg" [3]=> string(4) "Male" } }
答案 1 :(得分:0)
来自PHPDocs
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>
(或)
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>