2013-08-29 74 views
0

我需要一個現有的數組追加到一個新的數組 我的代碼:如何添加鍵值,以陣列

foreach($hostsArray as $key=>$value) 
{ 
    $newarr = array('column1'=>$key,'column2'=>$value); 
    print_r($newarr); 
} 

,如果我的for循環做print_r()內我得到一個數組Array ([column1] => num_services_crit [column2] => 2) Array ([column1] => num_services_hard_crit [column2] => 2)

我需要所有上述數組值推入一個新的數組,我需要兩個密鑰值對

+0

追加到數組:'$ array [] = value;',在數組中設置一個鍵:'$ array [key] = value;'。這是你可以做的兩件事。你需要什麼樣的最終陣列? – deceze

+0

您能向我們提供您期望的示例數組輸入和示例輸出嗎? – Yalamber

回答

1

更改以下行:

$newarr = array('column1'=>$key,'column2'=>$value); 

要:

$newarr[] = array('column1'=>$key,'column2'=>$value); 
// ^these empty square braces mean "append" 

然後,您可以移動到print_r()外循環。

1

魔術:

$newarr = array_map(null,array_keys($hostsArray),array_values($hostsArray)); 

文檔:

如果你明確需要「列1」和「列2」作爲關鍵字,試試這個:

$newarr = array_map(function($a,$b) {return array("column1"=>$a,"column2"=>$b);}, 
    array_keys($hostsArray),array_values($hostsArray)); 
+0

它的工作非常感謝 – Cena

0

你可以使用array_merge()函數合併兩個數組如圖PHP手冊here

+0

這將是有用的顯示一個例子 – RedEyedMonster

0

試試這個:

$newarr  = array(); 
foreach($hostsArray as $key=>$value){ 
    array_push($newarr,array('column1'=>$key,'column2'=>$value)); 
} 

echo "<pre>"; 
print_r($newarr);