首页 > 解决方案 > Laravel php如何循环遍历数组并添加新的键值

问题描述

这就是数组 $optvar 在响应中的样子

    0: [{product_id: 18, option_id: 35, value: "green"}, {product_id: 18, option_id: 36, value: "large"}]
    1: [{product_id: 18, option_id: 35, value: "green"}, {product_id: 18, option_id: 36, value: "large"}]

我想在每个内部数组中添加 sk_id: $somevalue;

我尝试使用 foreach 循环,但只有在循环外调用它时才获得最后一项;

我的循环:

foreach ($optvar as $innerArray) { 
 if (is_array($innerArray)){

    foreach ($innerArray as $k => &$value) {

         if($value['option_id'] == $option)
         {
            $value['option_id'] =$var[$key]['value'];
         }
           $value['sku_id'] = $sku->id;
           $value['created_at'] = $now;
           $value['updated_at'] = $now;


    } 
 }       

}

标签: phparrayslaravel

解决方案


如果我没有误解您的要求,那么它们对您有用,未经真实数据测试:)

<?
 foreach($optvar as $index=>$opt){
     foreach($opt as $key => $value)
     {
      $optvar[$index][$key]['sk_id'] = 5;
     }
 }

print '<pre>';
print_r($optvar);
print '</pre>';

推荐阅读