如何将键值附加到数组

时间:2013-08-29 09:41:29

标签: php arrays

我需要将现有数组附加到新数组中 我的代码:

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 )

我需要将所有上述数组值推送到一个新数组中,我需要两个键值对

5 个答案:

答案 0 :(得分:1)

更改以下行:

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

要:

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

然后,您可以将print_r()移到循环外部。

答案 1 :(得分:1)

魔术:

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

文档:

如果明确需要“column1”和“column2”作为键,请尝试:

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

答案 2 :(得分:0)

答案 3 :(得分:0)

你可以使用array_merge()函数合并两个数组,如PHP手册here

所示

答案 4 :(得分:0)

试试这个:

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

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