我怎样才能测试var是否为空?我有这个阵列
array($myname,$myhouse,$mywife);
Run Code Online (Sandbox Code Playgroud)
如果没有使用循环,如何检查它们是否为空?
你所要求的要么是不可能的,要么是滑稽的.您需要按名称显式测试每个变量,或使用循环来测试动态的变量集合.
一行(当然功能除外):
function not_empty($val) {
return !empty($val);
}
$result = array_product(array_map('not_empty',$array));
Run Code Online (Sandbox Code Playgroud)
结果是,0如果一个变量为空,否则1.
但当然它不会告诉哪一个是空的.;)
如果你的意思是没有写一个循环,那么你可以使用:
in_array(true, array_map(create_function('$x', 'return empty($x);'),$array));
Run Code Online (Sandbox Code Playgroud)
当然它会隐含地遍历你的阵列,实际上是两次!一旦检查空虚,再次检查结果.当你达到non_empty值时,你最好使用一个循环.