2014-01-28 148 views
0

在我的PHP應用程序,我做以下檢查:第二次檢查不執行

if(($images = $main->get_images($data['id'])) || ($videos = $main->get_videos($data['id']))){ 
      (...) 
     if($videos){ 
      (...)  
     } 


     if($images){ 
      (...) 
     } 
    } 

這個操作發回一個錯誤說$影片是不確定的。我的猜測是,如果第一個陳述是真的,第二個不會被檢查。是否有預成型第二次檢查的任何簡潔的方式,甚至是第一位的是真實的,因爲如果圖像是真實的這種情況下,視頻將被評估爲假

回答

1

沒有辦法。你需要將它重新寫弄成這個樣子......

$images = $main->get_images($data['id']); 
$videos = $main->get_videos($data['id']); 
if($images || $videos){ 
     (...) 
    if($videos){ 
     (...)  
    } 
    if($images){ 
     (...) 
    } 
} 

而只是FYI ...操作順序意味着你不需要封閉條件()括號內。幾乎所有被計算的OR操作(包括& &運營商)了。

祝你好運!

喬伊

+0

謝謝!我現在覺得很愚蠢......(你忘了;在第二行,但我不能改變它) – Martin149

0

您可以使用empty(),看是否有變量不存在或爲空例如

if(!empty($videos)) { 
     (...)  
} 
相關問題