在php中的关联多维数组中插入键值对

时间:2015-11-26 17:58:05

标签: php multidimensional-array insert

我有一个名为$ p_result的多维数组,其中包含与产品相关的数据,现在我想为每个或for循环使用另一个键值元素(键“o_id”和值4)添加到其中但是到目前为止我已经尝试过此

foreach($p_result as $prod){
    $prod['o_id']=4;
}
print_r($p_result);

但它没有在每个array.print_r($ p_result)中添加[oid] => 4显示

Array ( 
    [0] => Array ( [p_id] => 7 [quantity] => 122 [unitPrice] => 3 [subTotal] => 366 ) 
    [1] => Array ( [p_id] => 8 [quantity] => 133 [unitPrice] => 5 [subTotal] => 665 ) 
    )   

2 个答案:

答案 0 :(得分:2)

使用& $ prod:

foreach($p_result as &$prod){
    $prod['o_id']=4;
}
print_r($p_result);

答案 1 :(得分:1)

您可以使用by reference运算符&

执行您想要的操作
foreach($p_result as &$prod) {
    $prod['o_id']=4;
}

引用运算符允许您访问父变量,因为您实际上是指原始变量。

偶尔使用引用可能会有问题,在这种情况下,另一个选项是:

foreach($p_result as $index => $prod) {
    $p_result[$index]['o_id']=4;
}