特定のキーの存在を確認する場合は必須ではないことを学びましたが、インスタンス化さisset($array)
れているかどうかを既知のキーなしで確認する理由があることも知っています。$array
例:これ:
foreach ($foo as $bar) {
echo $bar;
}
PHP通知:未定義の変数:foo
PHP警告:foreach()に無効な引数が指定されました
この方法の方が優れています:
if (isset($foo)) {
foreach ($foo as $bar) {
echo $bar;
}
}
データを処理するときに配列を頻繁に使用するので、配列全体かどうかを確認する必要がある他のケースがあるかどうかを尋ねたいと思いましたisset()
か?それとも$array[$key]
、わかっているときはいつでも、使用するすべてのものをチェックすることに固執する必要がありますか?これは、これを行うことに長所または短所があるかどうかの質問に関連しています。
if (isset($foo[0])) {
foreach ($foo as $bar) {
// noop
}
}
これの代わりに:
if (isset($foo)) {
foreach ($foo as $bar) {
// noop
}
}