2015-07-19 25 views
1

我有3个不同的数组,其中有一个常量(但未知)数量的项目。加入多个数组的键值相同的值到一个巨型数组中

$array1 = array("orange", "banana", "plum"); 
$array2 = array("apple", "raspberry", "pineapple"); 
$array3 = array("kiwi", "tomato", "lemon"); 

我想加入每个数组的密钥相同的值到一个巨型数组中。下面是我想要创建的数组。

$desired_array = array("orange,apple,kiwi", "banana,raspberry,tomato", "plum,pineapple,lemon"); 

我甚至不完全确定如何解决这个问题。我试图

foreach ($array1 as $arr1) { 
    foreach ($array2 as $arr2) { 
     foreach ($array3 as $arr3) { 
      $arr .= $arr1 . "," . $arr2 . "," . $arr3 ."\n"; 
     } 
    } 
} 

但返回

orange,apple,kiwi 
orange,apple,tomato 
orange,apple,lemon 
orange,raspberry,kiwi 
orange,raspberry,tomato 
orange,raspberry,lemon 
orange,pineapple,kiwi 
orange,pineapple,tomato 
orange,pineapple,lemon 
banana,apple,kiwi 
banana,apple,tomato 
banana,apple,lemon 
banana,raspberry,kiwi 
banana,raspberry,tomato 
banana,raspberry,lemon 
banana,pineapple,kiwi 
banana,pineapple,tomato 
banana,pineapple,lemon 
plum,apple,kiwi 
plum,apple,tomato 
plum,apple,lemon 
plum,raspberry,kiwi 
plum,raspberry,tomato 
plum,raspberry,lemon 
plum,pineapple,kiwi 
plum,pineapple,tomato 
plum,pineapple,lemon 

回答

2

尝试阵列的这一解决方案基于假设的长度总是相同

<?php 

    $array1 = array("orange", "banana", "plum"); 
    $array2 = array("apple", "raspberry", "pineapple"); 
    $array3 = array("kiwi", "tomato", "lemon"); 

    $arr=array(); 
    for($l=0;$l<count($array1);$l++) 
    { 
     $arr[$l]=$array1[$l].",".$array2[$l].",".$array3[$l]; 
    } 

    print_r($arr); 
    /*o/p:Array ([0] => orange,apple,kiwi [1] => banana,raspberry,tomato [2] => plum,pineapple,lemon)*/ 

?> 

编辑:

如果你需要它,在FOR EACH循环

<?php 

    $array1 = array("orange", "banana", "plum"); 
    $array2 = array("apple", "raspberry", "pineapple"); 
    $array3 = array("kiwi", "tomato", "lemon"); 

    $arr2=array(); 
    foreach($array1 as $key=>$value) 
    { 
     $arr2[$key]=$array1[$key].",".$array2[$key].",".$array3[$key]; 
    } 

    print_r($arr2); 
?> 
+0

我在写同样的事情! – Robin

相关问题