我可以在一个声明中同时使用两个OR / AND吗?

时间:2017-10-23 14:58:59

标签: php if-statement conditional

我有这个陈述

 <?php

    if($item['option_1049'] == 'Ready Property' OR $item['option_1049'] == '现房' AND $item['option_4'] == 'Sale')
         {
                echo _ch($item['option_1002']); echo '&nbsp;'; echo '{lang_psqft}' ;
                echo '<br>';
                echo _ch($item['option_1068']); echo '&nbsp;'; echo _ch($options_prefix_1069); echo _ch($item['option_1069']); echo _ch($options_suffix_1069);

          }

               ?>

但似乎这不起作用?

因为我想要显示具有就绪属性销售值的回显值,所以我有OR,因为我正在做双语,所以在这种情况下这个如果我换另一种语言仍然符合我的条件。

这是可行的吗?

由于

2 个答案:

答案 0 :(得分:0)

要确保评估条件的顺序,请使用括号。

if(($item['option_1049'] == 'Ready Property' OR $item['option_1049'] == '现房') AND $item['option_4'] == 'Sale')

此外,使用OR和AND关键字被视为不良做法。主要是因为它们与||&&

具有相同的代码执行优先级

答案 1 :(得分:0)

我建议使用in_array()来简化这一过程。 in_array()的第二个参数是包含所有翻译的数组列表。

if( in_array($item['option_1049'], ['Ready Property', '现房'] && $item['option_4'] == 'Sale') {
    //code here
}