2017-10-16 47 views
-1

結合他們讓我們假設我們有一個多維數組象下面這樣:查找與陣列相同的密鑰的所有項目,並在一個新的

$obj = array 
(
array("carName"=>"Volvo","carColor"=>"Red", "carSpeed"=> "100 mph"), 
array("carName"=>"Volvo","carColor"=>"Blue", "carSpeed"=> "100 mph"), 
array("carName"=>"BMW","carColor"=>"White", "carSpeed"=> "120 mph"), 
array("carName"=>"BMW","carColor"=>"Grey", "carSpeed"=> "120 mph") 
); 

我怎麼能在一個單一的陣列組合每"carName""carColor"所以我得到:

$newObj = array 
(
array("carName"=>"Volvo","carColor"=> array("Red", "Blue"), "carSpeed"=> "100 mph"), 
array("carName"=>"BMW","carColor"=> array("White", "Grey"), "carSpeed"=> "120 mph") 
); 
+1

如果您嘗試過任何操作,請分享? – C2486

+0

我有種嘗試for循環來存儲carName每次它改變,但它根本不工作,猜我不夠熟悉寫這種代碼。雖然它看起來很基本... –

回答

3

如果你的名字與車名的每個陣列(不知道的事項),你可以這樣來做

foreach($obj as $x=>$y){ 
$new[$y['carName']]['carName']=$y['carName']; 
$new[$y['carName']]['carColor'][]=$y['carColor']; 
$new[$y['carName']]['carSpeed']=$y['carSpeed']; 
} 
+0

這樣做的工作!這樣一個基本的東西。 –

+0

可以修改爲不插入雙數到數組中? –

+0

是更改$ new [$ y ['carName']] ['carColor'] [] = $ y ['carColor'];到$ new [$ y ['carName']] ['carColor'] [$ y ['carColor']] = $ y ['carColor']; –

相關問題