回答
对于函数返回,您既不使用isset
也不使用empty
,因为这些函数仅适用于变量,并且仅用于测试可能不存在的变量而不触发错误。
对于函数返回检查变量的存在是没有意义的,所以才这样做:
if (!my_function()) {
// function returned a falsey value
}
为了更详细地了解这一点,看到The Definitive Guide To PHP's isset And empty。
ISSET
检查变量是否已设置,换句话说,它检查变量是否是除NULL
或not assigned a value
之外的任何值。如果变量存在并且具有非NULL值,ISSET将返回TRUE。这意味着分配了“”,0,“0”或FALSE的变量已设置,因此ISSET为TRUE。
EMPTY
检查变量是否为空。空被解释为:“”(一个空字符串),0(0作为一个整数),0.0(0作为一个float),“0”(0作为一个字符串),NULL,FALSE,array() )和“$ var;” (变量声明,但没有在一个类中的值
变量不能有分配的值。该值至少为null。 – deceze 2012-07-13 05:56:51
isset()函数检查一个变量具有一个值,包括(假,0或空字符串),但不是NULL 返回TRUE,如果变种存在; FALSE否则。
在另一方面空()函数检查如果变量具有空值空字符串,0,NULL,或假。如果变种具有非空和非零值。
返回FALSE检查变量(举几个例子)
if(is_null($x) === true) // null
if($x === null) // null
if($x === false)
if(isset($x) === false) // variable undefined or null
if(empty($x) === true) // check if variable is empty (length of 0)
isset - 检测如果一个变量被设定,没有NULL
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
空 - 确定一个变量是否为空
<?php
$var = 0;
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>
- 1. 检查条件是否为假
- 2. PHP:检查是否为0?
- 3. PHP检查0假
- 4. 检查变量是否为假,但不是真或不确定
- 5. PHP检查是否为空字段
- 6. PHP检查$ _SESSION ['text']是否为文本
- 7. PHP检查字段是否为空
- 8. PHP检查日期是否为一年
- 9. PHP - 检查单元格是否为空
- 10. 检查日期是否为周末PHP
- 11. iOS,JSON检查值是否为假或字符串
- 12. Java检查具体日期是否为公共假期国家
- 13. Telerik Grid内部的CheckBox始终检查值是否为假值
- 14. 如何经常检查bool的值是否为真/假? SWIFT
- 15. 检查是否为假,然后运行代码
- 16. 检查SIM卡的结果是否为假
- 17. 检查报警管理器是否设置为假阳性
- 18. Javascript:检查变量是否为假或者根本不存在
- 19. PHP Sql检查是否foreach
- 20. 检查是否在PHP
- 21. PHP - 检查是否存在
- 22. 检查是否在PHP
- 23. 检查是否使用PHP
- 24. 检查点是否从PHP
- 25. 检查是否使用PHP
- 26. PHP:检查链接是否为图像并检查是否存在
- 27. ajax运行mysql查询并检查mysql查询是否为真或假?
- 28. 检查变量是否是真还是假
- 29. PHP如何检查一天是否是假期(在指定的国家)?
- 30. Elixir检查给定的一天是否是假期
我实际上试图捕捉一个返回数组或错误,并试图进一步确定要做什么 – 2012-07-13 08:18:18
行吗?所以'$ return = myfunction();如果(!$ return){//'是错误的! }' – deceze 2012-07-13 08:20:15
是的,先生....:) :) – 2012-07-13 08:32:16