Heim > Fragen und Antworten > Hauptteil
Können Sie mir helfen, meinen Programmierstil zu verbessern? :) Bei manchen Aufgaben muss ich prüfen, ob eine Variable leer ist oder etwas enthält. Um diese Aufgabe zu lösen, gehe ich normalerweise wie folgt vor.
Überprüfen – Ist diese Variable bereits gesetzt? Wenn es gesetzt ist – ich überprüfe – ist es leer?
<?php $var = '23'; if (isset($var)&&!empty($var)){ echo 'not empty'; }else{ echo 'is not set or empty'; } ?>
Ich habe eine Frage – sollte ich isset() vor empty() verwenden – ist das notwendig? TIA!
P粉5144588632023-10-17 19:55:24
在您的特定情况下:if ($var)
。
如果您不知道变量是否存在,则需要使用isset
。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用isset
。
对于 empty
也是如此,只是 empty
还结合了对值的真实性的检查。 empty
相当于 !isset($var) || !$var
和 !empty
相当于 isset($var) && $var
或 isset($var) && $var ==正确
。
如果您只想测试一个应该存在的变量的真实性,if ($var)
就完全足够了。 .
P粉4589136552023-10-17 12:42:26
这取决于您要查找的内容,如果您只是想查看它是否为空,请使用 empty
因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用 isset
。
Empty
检查变量是否已设置,如果设置了,则检查变量是否为 null、""、0 等
Isset
只是检查它是否已设置,它可以是任何不为空的内容
对于空
,以下内容被视为空:
来自 http://php.net/manual/en/function.empty.php
正如评论中提到的,对于empty(),缺乏警告也很重要
关于问题
你的代码就可以了:
例如:
$var = ""; if(empty($var)) // true because "" is considered empty {...} if(isset($var)) //true because var is set {...} if(empty($otherVar)) //true because $otherVar is null {...} if(isset($otherVar)) //false because $otherVar is not set {...}