2012-11-06 81 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

啊,是的,這很好,謝謝。 –