2012-10-04 83 views
0

我有一個複雜的場景,我需要運行一個for循環,它應該一直運行,不依賴於變量,但如果一個變量存在(意味着它不等於''),那麼我需要檢查另一個。如果兩個條件都是真的,那麼它應該繼續。令人困惑,但它很難解釋讓我向你們展示:如何爲循環選擇?

$ SUBCAT之前的其他部分定義的環

for($i=0; $i<sizeof($news_posts); ++$i) 
    $subcategory = $news_posts[$i]['subcategory']; 

    if($subcat != '' && $subcat == $subcategory){ 
    CONSEQUENT XYZ. 

所以基本上。我需要這個循環來執行XYZ EVERYTIME。但是,如果存在Sub Sub,那麼它只需要顯示subcat與子類別相同的結果。

  1. 每次運行
  2. 如果SUBCAT不存在,顯示每個條目。
  3. 如果存在子程序存在檢查子程序子程序==子類別
  4. 如果子程序存在子程序==子類別,則顯示子類別與子程序相同的每個條目。

這是怎麼回事?

+0

也許我誤解了你的問題,但如何用'!isset($ subcat)||替換條件? $子貓=== $子類別? – raina77ow

+0

有時候沒有子帖子 –

+0

對,raina77ow是說子帖子或者是空白的,或者是子類別。我認爲這是你要找的,不是嗎? –

回答

0
​​

應該是不言自明的,這是你似乎在尋找的條件。如果設置了$subcat,則只有匹配子類別的迭代纔會運行顯示條目代碼,否則所有迭代都會運行它。

由於isset是一種語言結構而不是函數,並且因爲如果語句的第一個條件爲真,第二個條件將被忽略,如果從未聲明$subcat,則上面的代碼不會產生錯誤,與您的原始碼。