-1
我試圖避免使用array_count_values(太慢)來計算出現次數,所以我使用了一個foreach循環,但我仍然收到以下錯誤消息,即使結果打印正確!PHP:foreach循環中的錯誤是什麼?
PHP公告:未定義抵消:0在第5行 PHP堆棧跟蹤:
$somearray=array(0,1,2,3,4,5,6,0,1,2,3,4,0,1,2);
$frequency=array();
foreach($somearray as $key => $val) {
$frequency[$somearray[$key]]++; //THIS IS LINE 5
}
print_r($frequency);
它正確打印儘管所有拋出的錯誤消息:
Array
(
[0] => 3
[1] => 3
[2] => 3
[3] => 2
[4] => 2
[5] => 1
[6] => 1
)
那麼,你是從一個空數組開始的,所以在你設置它之前沒有'0'索引。 –
這不是一個錯誤,它只是一個通知。 PHP說:「嘿,你試圖增加一些不存在的東西,所以我只是假設初始值爲0」 - 這正好是你想要的。 – rickdenhaan
查看數組鍵是否先存在。如果不是,則初始化它。 – aynber