私はいくつかの調査を行いましたが、私の質問に対する正解は見つかりませんでした。
ループの前にカウントを行うのが良い方法ですか?
それを行う方が良いですか:
if(count(array) > 0){
foreach(array as entry){
}
}
また
foreach(array as entry){
}
私の見解では、配列が空の場合はループしないため、カウントは余分なステップです。
あなたはそれについてどう思いますか ?
配列に何もない場合、foreachループは0回ループします。先のカウントを確認する必要はありません。$ arrayの可能な値によっては、is_array()をテストする方がよいでしょう。これは、$ arrayが配列でない場合、foreachがエラーをスローするためです。
簡単なテストを試してみましょう。
テスト1
$array = "string";
foreach ( $array as $entry ) {
}
出力
Warning: Invalid argument supplied for foreach()
テスト2
$array = "string";
if (count($array) > 0) {
foreach ( $array as $entry ) {
}
}
出力
Warning: Invalid argument supplied for foreach()
テスト3
$array = "string";
if (is_array($array) || $array instanceof Traversable) {
foreach ( $array as $entry ) {
}
}
出力
No error
常に検証する必要はありませんが、値がわからない場合は、ループする前に値が有効かどうかを確認する必要があります。
あなたが一緒に行くなら、count()
それはするのと似ていis_array()
ます。配列でない場合、Foreachはエラーを出します。
より良い方法、imoはif(!empty($array)){