2016-10-29 38 views
0

所以我有一個數組名爲$銷售對象是consits像:添加鍵和值數組,如果它不存在

"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; 
     } 
    } 

但它沒有添加任何東西。吐出同樣的東西。

+0

'的foreach($銷售爲&$銷售)'請參閱'&'? –

+1

http://php.net/manual/en/language.references.pass.php我在我的求職者測試中使用 – nogad

+0

他的意思是我不會把'$ sale ['month']'添加到退出的數組@ RomanPerekhrest – nogad

回答

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

您需要通過引用傳遞$ sale數組(使用&)。這將意味着,原來的$銷售陣列更新

+0

格式化,需要說明 – nogad

+0

我正在寫手機。嘗試格式化代碼,但它不會工作。抱歉 – useyourillusiontoo

0

或者你可以使用array_map功能,例如:

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