我有这样的代码:
$myVariable = someRanDomFunction($blah)
问题是someRanDomFunction()可能返回数组、对象、空数组、布尔值或NULL。
如果检查$myVariable有一些数据的最佳方法是什么呢?
现在我要做的是:
!empty($myVariable )
它会涵盖所有的案件吗?或者我应该做($myVariable != NULL && !empty($myVariable ))
更新*
我所说的“一些数据”是指TRUE,如果它的bool,而不是空数组,以及除NULL以外的任何值。
发布于 2013-04-08 20:30:57
var_dump(empty(NULL)); // returns bool(true)空就够了。如果您说布尔值不是数据,那么也检查一下!is_bool。(empty(false)还返回true)
或者更好的是,只使用if ($result);这应该就足够了。
或者你称之为“某些数据”?
更新:您需要的内容:
php >var_dump(!空([])); bool(false) php >var_dump(!空(“”)); bool(false) php >var_dump(!空(False)); bool(false) php >var_dump(!空(True)); bool(true) php >var_dump(!空(Null)); bool(假)
发布于 2013-04-08 20:33:20
简单地进行隐式布尔检查将排除false、array()和null。
if ($myVariable) {
//will execute as long as myVariable isn't an empty array, false, null, or 0 / '0'
}!empty()也做了同样的事情,增加了对未定义变量/数组索引的警告。不过,有点冗长。
发布于 2013-04-08 20:33:44
如果检查null,则需要使用!== (严格检查http://php.net/manual/en/language.operators.comparison.php)。
https://stackoverflow.com/questions/15888362
复制相似问题