2012-03-19 76 views
0

我已經寫如下所示的情況下,合適的條件來呼應結果

case 'yesno': 
{ 
    if ($reg['answer']) 
    { 
     $reg['answer'] = $phrase['_yes']; 

    } 
    else 
    { 
     $reg['answer'] = $phrase['_no']; 
    } 
//below line is to be corrected 
($reg['answer'] =$phrase['_yes'])? $show['answer_icon'] = true : $show['answer_icon'] = false; 
     echo $show['answer_icon']; 
    break; 
} 

我需要顯示的圖像作爲結果僅當

 $reg['answer'] = $phrase['_yes']; 

但現在我具備的條件寫爲這是顯示錯誤(上面comemnted線)

它顯示所有結果與圖像,無論是是或否當我寫下列條件

($reg['answer'])? $show['answer_icon'] = true : $show['answer_icon'] = false; 

任何人都可以爲此提出正確的條件...顯示圖像部分已完成。

回答

1

關閉好友。試試這個:

$show['answer_icon'] = ($reg['answer'] == $phrase['_yes']) ? true : false; 
+0

再次結果是相同的,我有回聲的結果,它表明111111111 – 2012-03-19 05:59:08

+0

這是因爲真/假評估爲1或0。 使用此則: '$秀[「answer_icon」] =($ REG [ 'answer'] == $ phrase ['_ yes'])? 「true」:「false」;' 引號會將真和假變成字符串:o) – Menztrual 2012-03-19 06:00:54

+0

''? true:false'部分是多餘的,因爲它正是前一部分所評估的內容。 – 2012-03-19 06:27:16

1

您使用的是單等於=進行比較,它應該是雙==。但你也可以縮短你的字符串像這樣的很多:

$show['answer_icon'] = ($reg['answer'] == $phrase['_yes']); 
0

你需要「==」操作符來比較它嘗試下面的線

$show['answer'] = ($reg['answer'] == $phrase['_yes']) ? true : false; 
         echo $show['answer']; 
1

您使用一個單一的平等,這將總是返回true,因爲它將$ phrase ['_ yes']的值賦值給$ reg ['answer'],它返回true(即賦值)。

首先你需要做==來比較。

即, ($ reg ['answer'] == $ phrase ['_ yes'])?