2012-10-04 92 views
0

我有这样一个数组:PHP合并2阵列散步?

array(2) { 
    [0]=> 
    array(4) { 
    [0]=> 
    string(6) "04ba2c" 
    [1]=> 
    string(6) "f4a204" 
    [2]=> 
    string(6) "d40604" 
    [3]=> 
    string(6) "990000" 
    } 
    [1]=> 
    array(4) { 
    [0]=> 
    string(6) "666666" 
    [1]=> 
    string(6) "666666" 
    [2]=> 
    string(6) "666666" 
    [3]=> 
    string(6) "666666" 
    } 
} 

我想,这样看起来就像这样,但我不知道如何做到这一点,以建立数组?

array(1) { 
    [0]=> 
    array(8) { 
    [0]=> 
    string(6) "04ba2c" 
    [1]=> 
    string(6) "666666" 
    [2]=> 
    string(6) "f4a204" 
    [3]=> 
    string(6) "666666" 
    [4]=> 
    string(6) "d40604" 
    [5]=> 
    string(6) "666666" 
    [6]=> 
    string(6) "990000" 
    [7]=> 
    string(6) "666666" 
    } 

任何想法很容易做到这一点在PHP?

+0

订单重要吗? – Znarkus

回答

2
for ($i = 0, $len = count($array[0]); $i < $len; ++$i) { 
    $result[] = $array[0][$i]; 
    $result[] = $array[1][$i]; 
} 

,或者,如果两个数组长度不等,你可以循环,直到你到达最高值,而只增加了找到的项目:

for ($i = 0, $len = max(count($array[0]), count($array[1])); $i < $len; ++$i) { 
    if (isset($array[0][$i])) $result[] = $array[0][$i]; 
    if (isset($array[1][$i])) $result[] = $array[1][$i]; 
} 
2

假设$arr[0]$arr[1]长度相等的:

$arr2 = array(); 

foreach($arr[0] as $key=>$val) { 
    $arr2[] = $arr[0][$key]; 
    $arr2[] = $arr[1][$key]; 
} 
+0

这很好,但为了匹配OP的问题'$ arr1'应该是'$ arr [0]'和'$ arr2' ='$ arr [1]'。 OP的两个数组被设置在一个数组变量中。 –

+0

好吧,好吧,猜我在推翻它:}如果我在第一条评论中提到'$ arr [0]'和'$ arr [1]',我会很高兴:叹息: –

+0

你有好友;) – AlienWebguy

0
$newarray = array(); 
$len = max(count($array[0]), count($array[1])); 
for ($x = 0; $x < $len; $x++) { 
    if (isset($array[0][$x])) { 
     $newarray[] = $array[0][$x]; 
    } 
    if (isset($array[1][$x])) { 
     $newarray[] = $array[1][$x]; 
    } 
} 
0
$arr = array (
    array("04ba2c","f4a204","d40604","990000"), 
    array("666666","666666","666666","666666"), 
); 
$newArr = array(); 
array_map(function($a,$b) use(&$newArr) { 
    $newArr[0][]=$a;$newArr[0][]=$b; 
}, $arr[0], $arr[1]); 
print_r($newArr); 
/* 
Array 
(
    [0] => Array 
     (
      [0] => 04ba2c 
      [1] => 666666 
      [2] => f4a204 
      [3] => 666666 
      [4] => d40604 
      [5] => 666666 
      [6] => 990000 
      [7] => 666666 
     ) 

) 
*/