我正在處理另一個開發人員舊代碼,並且有大量的注意:使用+ =運算符設置數據時發生未定義的索引錯誤。本質上,索引尚未在數組中設置,因此會生成錯誤。使用加等號運算符時未定義的索引錯誤
實施例:
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
$myArray['test'] += 1;
}
將在第一次運行產生錯誤,因爲測試索引尚未設定。
我知道我可以用下面的代碼刪除此錯誤:
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
if (! isset($myArray['test']))
{
$myArray['test'] = $myValue;
}
else
{
$myArray['test'] += $myValue;
}
}
不過,也有圍繞這樣的事情來改變50。是否值得編寫所有這些isset語句或者有沒有更好的方式我不知道?
編輯:我應該注意,數組索引並不總是相同的,有時沒有設置,所以我不能在這種情況下預設索引,以避免錯誤。
它是一個選項,供您只需關閉PHP通知? – luttkens
生產服務器上的所有錯誤均已關閉。在我的開發服務器上編輯某些東西后,我只注意到這些錯誤。那麼可以忽略這些嗎? – bobcat
'array_key_exists' +'isset'如果你想這樣做真正的硬核方式;) – clentfort