微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:使用empty()作为空字符串?

我最近在Deceze发现了这个有趣的article.
但我对其中一条建议感到有点困惑:

never use empty or isset for variables that should exist

使用empty()不是测试$foo =”的好选择;是空的?

解决方法:

如果您希望$foo存在,则不应使用empty(或isset).这意味着,如果根据您的程序逻辑,此时应该存在$foo:

if ($foo === '')

然后不要做以下任何一件事:

if (isset($foo))
if (empty($foo))

这两种语言结构可以抑制未定义变量的错误报告.这是他们唯一的工作.这意味着,如果您无偿使用isset或空,PHP将不会告诉您代码中的问题.例如:

$foo = $bar;
if (empty($føø)) ...

嗯,为什么这总是如此,即使$bar包含预期值?因为您错误输入了变量名称,并且您正在检查未定义变量的值.像这样写它来让PHP帮助你:

if (!$føø) ...

Notice: undefined variable føø on line …

条件本身是相同的,== false(!)和empty为相同的值产生相同的结果.

如何检查空字符串取决于您执行或不接受的值.也许$foo ===”或strlen($foo)== 0是你正在寻找的检查,以确保你有一个包含其中某些内容的字符串.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐