-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