我想保持简短。我不知道我的术语是否正确,但我从Codeigniter 手册 Vol.1中得到了这个例子。
if (count($args) > 1 || is_array($args[0]))
我已经多次遇到这个问题。根据数据类型,不同的测试更合适。有些测试会以意想不到的方式失败。
如何确定最合适,也可能是最简洁的测试?
为了清楚起见,我正在寻找最有效的方法来测试对象/变量是否可以使用,无论数据类型如何,如果可能的话。
此外,我不希望该解决方案仅适用于示例中的列表。它应该是广泛适用的。
我想保持简短。我不知道我的术语是否正确,但我从Codeigniter 手册 Vol.1中得到了这个例子。
if (count($args) > 1 || is_array($args[0]))
我已经多次遇到这个问题。根据数据类型,不同的测试更合适。有些测试会以意想不到的方式失败。
如何确定最合适,也可能是最简洁的测试?
为了清楚起见,我正在寻找最有效的方法来测试对象/变量是否可以使用,无论数据类型如何,如果可能的话。
此外,我不希望该解决方案仅适用于示例中的列表。它应该是广泛适用的。
只用空
if(!empty($args)){
echo 'Array is set, not empty and not null';
}
使用空()bool empty ( mixed $var )
http://www.php.net/manual/en/function.empty.php
确定一个变量是否被认为是空的。如果变量不存在或其值等于 FALSE,则认为该变量为空。如果变量不存在,empty() 不会生成警告。
我一直在使用以下功能。
您可以为所有可能的变量类型添加自己的测试。
function is_valid_var($var)
{
if ( isset( $var ) ) {
// string
if ( is_string( $var ) && strlen( $var ) == 0 ) return false;
// array
elseif ( is_array( $var ) && count( $var ) == 0 ) return false;
// unknown
else return true;
}
return false;
}