如果数组不存在,则向数组添加键和值

时间:2016-10-29 21:53:03

标签: php

所以我有一个名为$ sales的数组,其中包含以下对象:

"DR22" => array:3 [▼
    "brand" => "DR22"
    "year" => "0"
    "last_year" => null
  ]
  "FGIPA46C" => array:3 [▼
    "brand" => "FGIPA46C"
    "month" => "3"
    "year" => "3"
  ]

现在每个人都应该有#34;月" "年份" "去年" "上个月"但如果没有销售它不在那里,我得到,但如果它不存在我只想添加0值。我试过了:

    foreach ($sales as $sale)
    {  
        if (empty($sale['month'])) {
            $sale['month'] = 0;
        }
    }

但它没有添加任何东西。吐出相同的。

2 个答案:

答案 0 :(得分:0)

foreach ($sales as &$sale) {if (empty($sale['month']))        { $sale['month'] = 0; }}

您需要通过引用传递$ sale数组(使用&)。这意味着原始$ sales数组已更新

答案 1 :(得分:0)

或者你可以使用array_map函数,例如:

$array = array_map(function($item){
    if(empty($item["month"])){
        $item["month"] = 0;
    }
    return $item;
}, $array);