2012-01-16 103 views
2

您好,我有两个数组这样如何根据值合并两个多维数组?

array (
[0]=>array(
    [0]=>10, 
    [1]=>Some Name.. 
), 
[1]=>array(
    [0]=>11, 
    [1]=>Some Name..  
), 
[2]=>array(
    [0]=>13, 
    [1]=>Some Name..  
) 
) 

这样

array (
[0]=>array(
    [0]=>13, 
    [1]=>Viewed 
    ) 
) 

如何合并上述两个数组,而无需使用任何循环另一个阵列?任何PHP功能都可用于此?我需要这样一个不折不扣的把

array (
    [0]=>array(
       [0]=>10, 
       [1]=>Some Name.. 
    ), 
    [1]=>array(
       [0]=>11, 
       [1]=>Some Name.. 
    ), [2]=>array(
       [0]=>13, 
       [1]=>Some Name.. 
       [2]=Viewed 
    ) 
) 
+0

你为什么要resrticted不使用循环方案的阵列?您是否意识到任何解决方案都会涉及循环,即使它没有明确显示在PHP代码中? – Borodin 2012-01-16 12:08:51

+0

循环有什么问题? – maiwald 2012-01-16 12:08:53

+0

http://stackoverflow.com/questions/8561987/php-merge-two-arrays – 2012-01-16 12:29:38

回答

6

您可以使用PHP函数array_merge_recursive。 参见例如:

<?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); 
?> 
0
<?php 
$array1 = array("color" => "red", 2, 4); 
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); 
$result = array_merge($array1, $array2); 
print_r($result); 
?> 

更多细节检查:

http://php.net/manual/en/function.array-combine.php

http://php.net/manual/en/function.array-merge.php

参见

阵列array_merge(数组$数组1 [,数组$ ...]) array_merge_recursive() - 合并两个或更多阵列递归 array_combine() - 创建通过使用密钥一个阵列,另一个用于其值 阵列运营商

+0

它不会工作 – learner 2012-01-16 12:29:18

+0

为什么这样? @lerner – Infinity 2012-01-16 16:51:22