2012-11-06 50 views
4
任何数组值

可能重复:
check if an array have one or more empty values检查是否有设置PHP

什么检查数组已设置的任何值的最佳/最简单的方法是什么?我自己设置钥匙,无论如何,我无法根据钥匙进行操作。我的代码会显示我在做什么,想做的事:

$array = array(
       "Birthday" => $row3['birthday'], 
       "Sex" => $row3['sex'], 
       "Lives In" => $row3['livesIn'] 
      ); 
    if(empty($array)) 
    { 
     foreach($array as $key => $value) 
     { 
      if($value) 
      {  
       echo "<tr><td>".$key."</td><td>".$value."</td></tr>"; 
      } 
     } 
    } 
    else 
    { 
     echo "This user has not provided any information yet"; 
    } 

所以,举例来说,如果$row3['birthday']$row3['sex']$row3['livesIn']都是空的,那么就应该渲染的第一个if语句为假,并移动到else语句。

+3

这个问题有点老,但它帮助了我,它实际上不是标记问题的重复。 **可能的重复**问题是询问如何查找数组中是否有任何*空*值,而此问题询问如何查找是否存在任何*非空*值。标记问题中的解决方案不能应用于此问题。在这个问题上接受的答案是有效的。 – Travesty3

回答

10

我相信你正在寻找array_filter(),它与一个参数将删除时类型强制转换为一个布尔值,等于false所有数组值:

if(count(array_filter($array)) == 0) { 
    echo "Array contained 'empty' values\n"; 
} 

您可以see the manual找出哪些值将成为布尔值false

+0

啊,是的,这很好,谢谢。 –