我有一个名为$sales的数组它包含如下对象:
"DR22" => array:3 [▼
"brand" => "DR22"
"year" => "0"
"last_year" => null
]
"FGIPA46C" => array:3 [▼
"brand" => "FGIPA46C"
"month" => "3"
"year" => "3"
]
现在每个应该有"月"年"去年"上个月",但如果没有销售,它不在那里,我得到,但如果它不存在,我只想添加0值。我试着:
foreach ($sales as $sale)
{
if (empty($sale['month'])) {
$sale['month'] = 0;
}
}
但是它没有添加任何东西。吐出的都是一样的
foreach ($sales as &$sale) {if (empty($sale['month'])) { $sale['month'] = 0; }}
您需要通过引用(使用&)传递$sale数组。这将意味着原始的$sales数组被更新
或者您可以使用array_map函数,例如:
$array = array_map(function($item){
if(empty($item["month"])){
$item["month"] = 0;
}
return $item;
}, $array);