2015-07-10 69 views
1

我有這些類型的四個獨立陣列與陣列Combain陣列在PHP

Array 
(
    [0] => cmbt 
    [1] => cmbt 
) 
Array 
(
    [0] => airport 
    [1] => guindy 
) 
Array 
(
    [0] => 1000 
    [1] => 500 
) 
Array 
(
    [0] => 2500 
    [1] => 1000 
) 

,我需要爲這樣的

array(
    0 => array(
     'cmbt', 
     'airport', 
     1000, 
     2500 
    ), 
    1 => array(
     'cmbt', 
     'guindy', 
     500, 
     1000, 
    ) 

結果請幫我...結合

+0

你有沒有嘗試過任何thing.At至少你可以使用循環做到這一點。 –

回答

1

讓我們假設你的主陣列是$ all_array:

$wanted_array = array(0 => array(), 1 => array()); 
foreach($all_array as $element) 
{ 
    $wanted_array[0][] = $element[0]; 
    $wanted_array[1][] = $element[1]; 
} 

要說這不包含任何錯誤處理,如果發生任何格式不正確的$all_array。但應該做你想做的

1
$final_array = []; 

$final_array[] = array_column($your_array, 0); 

$final_array[] = array_column($your_array, 1); 

$your_array在這種情況下假設有包含您的小陣列的所有4個大陣。這應該是一個總體問題。

它應該讓你開始一個良好的軌道。

1

SPL的MultipleIterators是這種類型的任務非常有用:

$array1 = [ 
    'cmbt', 'cmbt', 
]; 
$array2 = [ 
    'airport', 'guindy', 
]; 
$array3 = [ 
    1000, 500, 
]; 
$array4 = [ 
    2500, 1000, 
]; 


$mi = new MultipleIterator(); 
$mi->attachIterator(new ArrayIterator($array1)); 
$mi->attachIterator(new ArrayIterator($array2)); 
$mi->attachIterator(new ArrayIterator($array3)); 
$mi->attachIterator(new ArrayIterator($array4)); 
$result = []; 
foreach($mi as $values) { 
    $result[] = $values; 
} 

var_dump($result);