我一直在写我的“如果这个变量不是空的”这样的语句:
if ($var != '') { // Yup }
但是我问这是否正确,并没有给我带来问题.这是我在网上找到的答案:
if (!($error == NULL)) { /// Yup }
这实际上看起来比我的方法更长,但更好吗?如果是这样,为什么?
而不是:
原文链接:https://www.f2er.com/php/131948.htmlif (!($error == NULL))
简单地做:
if ($error)
人们会认为第一个更清楚,但实际上更具误导性.这就是为什么:
$error = null; if (!($error == NULL)) { echo 'not null'; }
这样可以预期.然而,接下来的五个值将具有相同的(和许多意想不到的)行为:
$error = 0; $error = array(); $error = false; $error = ''; $error = 0.0;
第二个条件if($error)使得它更加明确地涉及类型转换.
如果程序员想要求该值实际上为空,那么他应该使用严格的比较,即if($error!== null)