扫码关注官方订阅号
你能帮助我改进我的编码风格吗?:) 在某些任务中我需要检查 - 变量是否为空或包含某些内容。为了解决这个任务,我通常会执行以下操作。
检查 - 该变量是否已设置?如果已设置 - 我检查 - 它是否为空?
我有一个问题 - 我应该在empty()之前使用isset() -有必要吗? TIA!
在您的特定情况下:if ($var)。
if ($var)
如果您不知道变量是否存在,则需要使用isset。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用isset。
isset
对于 empty 也是如此,只是 empty 还结合了对值的真实性的检查。 empty 相当于 !isset($var) || !$var 和 !empty 相当于 isset($var) && $var 或 isset($var) && $var ==正确。
empty
!isset($var) || !$var
!empty
isset($var) && $var
isset($var) && $var ==正确
如果您只想测试一个应该存在的变量的真实性,if ($var) 就完全足够了。 .
这取决于您要查找的内容,如果您只是想查看它是否为空,请使用 empty 因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用 isset。
Empty 检查变量是否已设置,如果设置了,则检查变量是否为 null、""、0 等
Empty
Isset 只是检查它是否已设置,它可以是任何不为空的内容
Isset
对于空,以下内容被视为空:
空
来自 http://php.net/manual/en/function.empty.php
正如评论中提到的,对于empty(),缺乏警告也很重要
PHP 手册说
关于问题
你的代码就可以了:
例如:
$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 {...}
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在您的特定情况下:
if ($var)。如果您不知道变量是否存在,则需要使用
isset。由于您在第一行声明了它,因此您知道它存在,因此您不需要,不,不应该使用isset。对于
empty也是如此,只是empty还结合了对值的真实性的检查。empty相当于!isset($var) || !$var和!empty相当于isset($var) && $var或isset($var) && $var ==正确。如果您只想测试一个应该存在的变量的真实性,
if ($var)就完全足够了。 .这取决于您要查找的内容,如果您只是想查看它是否为空,请使用
empty因为它也会检查它是否已设置,如果您想知道某些内容是否已设置设置或不使用isset。Empty检查变量是否已设置,如果设置了,则检查变量是否为 null、""、0 等Isset只是检查它是否已设置,它可以是任何不为空的内容对于
空,以下内容被视为空:来自 http://php.net/manual/en/function.empty.php
正如评论中提到的,对于empty(),缺乏警告也很重要
PHP 手册说
关于问题
PHP 手册说
你的代码就可以了:
例如:
$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 {...}