PHP は C#/JAVA とは異なり、変数を宣言する際に型を宣言する必要がないため、多くの特殊な値が表示され、場合によっては奇妙な値が表示されることがあります。
午後、海外のウェブサイトから真理値表を盗みました。とても直感的で詳細です。悪くないですよ〜早く投稿してください。
empty と isset の違いと関連性について話します。共通点がある 重要なのは、empty() と isset() は両方とも変数処理関数であり、その機能は変数が設定されているかどうかを判断することであるということです。彼らの関係についての理解が不十分です。 empty() と isset() の 2 つの関数自体だけを考慮すると、別の角度から見るとさらに混乱するでしょう。 empty() と isset() の処理対象は未定義変数、0、空文字列に過ぎません。変数が 0 の場合、empty() は TRUE を返し、isset() は TRUE を返します。
変数が空の文字列の場合、empty() は TRUE を返し、isset() は TRUE を返します。定義ではない場合、empty() は TRUE を返し、isset() は FLASE を返します
マニュアルでの empty() の説明は次のとおりです:
説明 bool empty(mixed var)
var が空でない場合、またはゼロ以外の値の場合、 empty () は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、およびプロパティを持たないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。
マニュアルでの isset() の説明は次のとおりです:
isset() は変数が設定されているかどうかを検出します
説明 bool isset (mixed var [,mixed var [, ...]] )
var が存在する場合は TRUE を返します、それ以外の場合は FALSE を返します。
unset() を使用して変数が解放された場合、それは isset() ではなくなります。 isset() を使用して NULL に設定された変数をテストすると、FALSE が返されます。 NULL バイト ("