2012-03-19 39 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'])?