Php 或在Smarty中的条件

Php 或在Smarty中的条件,php,smarty,Php,Smarty,嗨,我想在smarty中使用或调节,请帮助我 {if $productgroup.gid neq '69' or $productgroup.gid neq '68' or $productgroup.gid neq '27' or $productgroup.gid neq '31' or $productgroup.gid neq '70' or $productgroup.gid neq '71'} <select name="na

嗨,我想在smarty中使用或调节,请帮助我

{if $productgroup.gid neq '69' or
    $productgroup.gid neq '68'  or
    $productgroup.gid neq '27' or
    $productgroup.gid neq '31' or
    $productgroup.gid neq '70' or
    $productgroup.gid neq '71'}

    <select name="name" id="name" onchange="plan()">
        <option value="1">Car</option>
    </select>

{/if}
{如果$productgroup.gid neq'69'或
$productgroup.gid neq“68”或
$productgroup.gid neq'27'或
$productgroup.gid neq'31'或
$productgroup.gid neq“70”或
$productgroup.gid neq'71'}
汽车
{/if}

在if条件下,numeric和numeric之间不应有引号:

{if $productgroup.gid neq 69 or
    $productgroup.gid neq 68  or
    $productgroup.gid neq 27 or
    $productgroup.gid neq 31 or
    $productgroup.gid neq 70 or
    $productgroup.gid neq 71}

    <select name="name" id="name" onchange="plan()">
        <option value="1">Car</option>
    </select>

{/if}
{if$productgroup.gid neq 69或
$productgroup.gid neq 68或
$productgroup.gid neq 27或
$productgroup.gid neq 31或
$productgroup.gid neq 70或
$productgroup.gid neq 71}
汽车
{/if}

您的代码将始终为TRUE,因为数字始终不等于69或68。 如果您试图检查“gid”是否为27、31、68、69、70或71,则需要以不同的方式进行检查(除了关于字符串和数字的其他答案外):

{if!($productgroup.gid eq 69或
$productgroup.gid eq 68或
$productgroup.gid eq 27或
$productgroup.gid eq 31或
$productgroup.gid eq 70或
$productgroup.gid eq 71)}
汽车
{/if}

您可以使用更短、更易于维护的in_阵列,而不是使用或:

{ if !in_array($productgroup.gid, array(69,68,27,31,70,71)) }
    <select name="name" id="name" onchange="plan()">
        <option value="1">Car</option>
    </select>
{/if}
{if!in_数组($productgroup.gid,数组(69,68,27,31,70,71))}
汽车
{/if}

您希望在这里实现什么?
neq
?那个应该是什么?你们的代码现在发生了什么?neq的意思是不等于运算符。你们试过了吗?数字之间没有引号?嗯。。我认为错的是Smarty将条件读取为字符串,而被比较的值是整数,这就是为什么它总是错误的。如果你这样做,它将永远是正确的。{IF not(x==2或x==3)}将首先计算内括号中的内容,如果x是2或3,则结果为TRUE。现在,如果你用“not”反转,那么对于所有不是2或3的数字,结果都是真的。你反转了条件。我忽略了
{ if !in_array($productgroup.gid, array(69,68,27,31,70,71)) }
    <select name="name" id="name" onchange="plan()">
        <option value="1">Car</option>
    </select>
{/if}