if ステートメント内の ! は empty;
$a=''; $a=null; empty($a)) == if(!$a) ;
最近 thinkphp フレームワークのコードを見ると、判定ステートメントで ;
質問: フレームワーク作成者は、
の代わりに empty() を使用するのですが、これには何か理由があるのではないかと思います。理由;
-----解決策のアイデア------------- ----- ---
善悪の意味を間違えたと思います! ------解決策のアイデア----------------------
if(empty($a)) $a が空かどうかを判断し、空の場合は true を返し、空でない場合は false を返しますif(!$a) $a が存在する場合は false を返し、存在しない場合は true を返します
論理演算子は否定を意味します。 。
empty はメソッドです。
この 2 つの違いは、$a が定義されていない場合です。空であれば問題ありません。そして、!$a は間違っています。
<br />var_dump(empty($a));<br />var_dump(!$a); // 会提示 Notice: Undefined variable: a<br />