2011-03-22 16 views
0

我有3個陣列讓說,我有3個數組,我如何向數組匹配的數組添加信息?

陣列1具有ID = 1種顏色=藍色

陣列2具有ID = 2顏色=紅色

陣列3具有ID = 3色=紅色


我有另一張表,每種顏色的價格。從其他表我得到

陣列1顏色=藍色價格= 2.00

陣列2的color = red價格= 3.00


我怎樣才能得到

陣列1具有ID = 1,color = blue,price = 2.00

array 2 has id = 2,color = red,price = 3.00

陣列3具有ID = 3,顏色=紅色,價格= 3.00

+1

如果你在數據庫中這樣做......你做錯了。這些東西中的每一個都應該位於表格的列中,而不是數組中。 – 2011-03-22 05:51:43

+0

謝謝您的關注。我想了解在使用數據庫的fetchAll函數時合併數組的概念。 – Darius 2011-03-22 12:50:36

回答

0

創建下面給出陣列結構

$arrFirst[0]['id'] = 1; 
    $arrFirst[0]['color'] = 'blue'; 

    $arrFirst[1]['id'] = 2; 
    $arrFirst[1]['color'] = 'red'; 

    $arrFirst[2]['id'] = 3; 
    $arrFirst[2]['color'] = 'red'; 

============================ 

    $arrSecond[0]['color'] = 'blue'; 
    $arrSecond[0]['price'] = 2.00; 

    $arrSecond[1]['color'] = 'red'; 
    $arrSecond[1]['price'] = 3.00; 

    $arrSecond[2]['color'] = 'red'; 
    $arrSecond[2]['price'] = 3.00; 

$arrFinal = array(); 
for($i=0;$i<count($arrFirst); $i++){ 

    $arrFinal = array_merge($arrFirst, $arrSecond)); 

} 

這些UR 3陣列:

$array1['id'] = 1; 
$array1['color'] = 'blue'; 

$array2['id'] = 2; 
$array2['color'] = 'red'; 

$array3['id'] = 3; 
$array3['color'] = 'red'; 

從另一表與每種顏色的價格

$array11['color'] = 'blue'; 
$array11['price'] = 2.00; 

$array22['color'] = 'red'; 
$array22['price'] = 3.00; 

這樣做

$array1 = array_merge($array1, $array11)); 
$array2 = array_merge($array2, $array22)); 
$array3 = array_merge($array3, $array22)); 
+0

但是當我有50個數組並且它們是動態生成的時會發生什麼?我以3爲例。 – Darius 2011-03-22 06:45:15

+0

再次檢查我的帖子...它已更新爲您的要求 – 2011-03-22 10:03:38

0

我同意@Brian Roach的上面的評論。這似乎是一個難以解決的例子,因爲它似乎應該以不同的方式處理。例如:

I have 3 arrays lets say, 
    array 1 has id = 1 color = blue 
    array 2 has id = 2 color = red 
    array 3 has id = 3 color = red 

具有3個陣列,都只有一個價值似乎非常低效的並列具有一個數組保存你列出的值:

$arrayOne = array('blue', 'red', 'red'); 


$arrayOne = array(1 => 'blue', 2 => 'red', 3 => 'red'); 

上面的第一個例子中,顏色會在id 0,1,2等字符串中出現。