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

inserting key value pair in associate multidimensional array in php

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

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

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

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

用作 &$prod:

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

您可以使用 by reference 运算符 &:

来做您想做的事
foreach($p_result as &$prod) {
    $prod['o_id']=4;
}

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

偶尔使用引用可能会出现问题,在这种情况下,另一种选择是:

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