0

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

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

如果我print_r()在 for 循环里面做,我会得到一个数组Array ( [column1] => num_services_crit [column2] => 2 ) Array ( [column1] => num_services_hard_crit [column2] => 2 )

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

4

5 回答 5

1

更改以下行:

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

至:

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

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

于 2013-08-29T09:43:24.810 回答
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));
于 2013-08-29T09:44:03.323 回答
0

尝试这个 :

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

echo "<pre>";
print_r($newarr);
于 2013-08-29T13:34:12.880 回答
0

考虑 array_merge 函数: http: //php.net/manual/de/function.array-merge.php

于 2013-08-29T09:43:16.117 回答
0

您可以使用 array_merge() 函数来合并两个数组,如 PHP 手册中所示here

于 2013-08-29T10:06:28.243 回答