Php遍历json数组修改一个特殊值并返回数组

Php遍历json数组修改一个特殊值并返回数组,php,arrays,json,loops,Php,Arrays,Json,Loops,所以我有一个JSON数组,数组中有一些内容。每个项目都有产品id和价格,我的目标是循环这个数组,并用修改后的产品价格修改产品价格和返回数组 下面是结果中的json数组片段/ "variation_combination_price" => array:4 [▼ 0 => array:10 [▼ "id" => 1 "product_id" => 1364 "cost_price" => 600 "promo_price" => 900 "p

所以我有一个JSON数组,数组中有一些内容。每个项目都有产品id和价格,我的目标是循环这个数组,并用修改后的产品价格修改产品价格和返回数组

下面是结果中的json数组片段/

"variation_combination_price" => array:4 [▼
0 => array:10 [▼
  "id" => 1
  "product_id" => 1364
  "cost_price" => 600
  "promo_price" => 900
  "price" => 900
  "combination_array" => array:2 [▼
    0 => array:8 [▶]
    1 => array:8 [▶]
  ]
  "combination_array_string" => "{"1":"3","2":"4"}"
  "quantity" => 10000
  "status" => 1
  "DOCUMENTATION" => array:2 [▶]
]
1 => array:10 [▶]
2 => array:10 [▶]
3 => array:10 [▶]
因此,上面的结果是原始响应。如你所见,我们有4个项目,目的是循环通过他们,修改价格和返回相同的4个项目

  foreach ($product_data['variation_combination_price'] as  
  $variation_combination_price){

        $variation_combination_price['price'] = 666;

        $product_data['variation_combination_price'] = 
$variation_combination_price;

    }


    dd($product_data['variation_combination_price']);  
我的结果应该与修改price的数组相同

"variation_combination_price" => array:4 [▼
0 => array:10 [▼
  "id" => 1
  "product_id" => 1364
  "cost_price" => 600
  "promo_price" => 900
  "price" => 666
  "combination_array" => array:2 [▼
    0 => array:8 [▶]
    1 => array:8 [▶]
  ]
  "combination_array_string" => "{"1":"3","2":"4"}"
  "quantity" => 10000
  "status" => 1
  "DOCUMENTATION" => array:2 [▶]
]
1 => array:10 [▶]
2 => array:10 [▶]
3 => array:10 [▶]

您没有通过引用进行循环。
在循环中所做的任何更改都不会更改数组的值。
为此,您需要添加一个
&

foreach ($product_data['variation_combination_price'] as &$variation_combination_price){
    $variation_combination_price['price'] = 666;
}
只需记住在循环之后取消设置变量即可

unset($variation_combination_price);

确保在循环完成后不会更改数组数据。

如果您有一个包含数据的Json,那么发布它而不是打印数组是一个友好的操作。我们可以使用Json,数组的打印是“无用的”