之前有一个问题php echo if two conditions are true,当我回答if(!empty($variable)){}
时,大多数人回答使用语句if($variable != ''){}
检查变量是否为空。我的问题是,为什么大多数人回答if(!empty($variable)){}
,if($variable != ''){}
期望可读性之间有什么区别?可读性是我目前唯一的区别。
谢谢, ATNO
答案 0 :(得分:2)
Returns FALSE if var has a non-empty and non-zero value.
The following things are considered to be empty:
* "" (an empty string)
* 0 (0 as an integer)
* 0.0 (0 as a float)
* "0" (0 as a string)
* NULL
* FALSE
* array() (an empty array)
* var $var; (a variable declared, but without a value in a class)
注意:强>
注意,如果“0”(零作为字符串),0(零作为整数)和-0(零作为整数)返回true,“ - 0”(减零作为字符串(是的,我已经有一些客户将-0写入表单字段))返回false。在使用empty()函数进行测试之前,需要先转换变量:
<?php
$var = "-0";
echo empty($var); // returns false
$var = (int) $var; // casts $var as an integer
echo empty($vat); // returns true
?>
答案 1 :(得分:1)
empty也会将变量视为空。您只是检查它是否不是空字符串。如果变量是例如,则检查将返回true。设置为(布尔值)FALSE。