-1
私はforeachループを使用していますので、array_count_values(遅すぎます)を使用しないようにしています。結果は正しく出力されますが、このエラーメッセージが表示され続けます。PHP:foreachループのエラーは何ですか?
PHPのお知らせ:オフセット未定義:ライン上の5 PHPスタックトレースで0:
$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