7

私が覚えているように、foreachを作成する前に常にcount($ array)をチェックする必要がありました。その時から私はいつもこのダブルチェックを行い、知りたいと思っていましたが、今日ではphp 5.4で意味がありますか?

error_reportingをE_ALLに設定し、次のスクリプトを実行しました。

$x = [];

foreach($x as $y) {
    var_dump($y);
}

通知がありませんでした(以前は、おそらくphp5.3でした)通知を受け取っていました。

空の配列でforeachを使用しても安全ですか?

4

1 に答える 1

15

配列である限り、その中のアイテムの量をチェックする必要はありません。必ず実際の反復可能なオブジェクトを渡してください。たとえば、ランダムなオブジェクトやを渡さないでくださいNULL

しかし、はい、foreach([] as $nothing) {}安全です。

于 2012-12-26T21:27:51.780 に答える