2013-08-29 51 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);