带有 OR 运算符的 PHP if 语句 [关闭]

Posted

技术标签:

【中文标题】带有 OR 运算符的 PHP if 语句 [关闭]【英文标题】:PHP if statement with OR operators [closed] 【发布时间】:2017-03-07 07:40:19 【问题描述】:

我在我的网站上使用以下声明。我想知道 selected_plan_id 是 4、5 还是 6。我使用的任何 OR 变体都会破坏我的代码。

 <?php if($CURRENT_USER['selected_plan_id'] == '5'): ?>

这是我目前尝试过的:

 <?php if($CURRENT_USER['selected_plan_id'] == '5' or '4' or '6'): ?>

:(错误

 <?php if($CURRENT_USER['selected_plan_id'] == '"5", "4", "6"'): ?>

:(为每个用户显示这个

 <?php if($CURRENT_USER['selected_plan_id'] == '5'): or if($CURRENT_USER['selected_plan_id'] == '4'): or if($CURRENT_USER['selected_plan_id'] == '6'): ?>

:(错误

【问题讨论】:

我在您的代码中没有看到任何or 向我们展示您尝试了什么以及为什么它们没有工作/您遇到了什么错误。 具体问题! 未来参考:How to ask a question 【参考方案1】:

使用|| 声明。

<?php if($CURRENT_USER['selected_plan_id'] == '4' || $CURRENT_USER['selected_plan_id'] == '5' || $CURRENT_USER['selected_plan_id'] == '6'): ?>

或者

使用in_array()

$arr = Array (4,5,6);
<?php if(in_array($CURRENT_USER['selected_plan_id'],$arr)): ?>

【讨论】:

请不要用答案奖励不好的问题。【参考方案2】:
<?php if( ( $CURRENT_USER['selected_plan_id'] == '4') || ( $CURRENT_USER['selected_plan_id'] == '5') || ( $CURRENT_USER['selected_plan_id'] == '6') ) : ?>

这将查看 $CURRENT_USER['selected_plan_id'] 是 4 还是 5 或 6

【讨论】:

请不要用答案奖励不好的问题。 来自您自己的个人资料 - “我是一名开发人员,发现自己在 SO 既要帮助其他人,也可以通过询问和阅读其他人来向他人学习问题。” - 我认为帮助他人没有问题。 我帮助遵循 SO 的标准和规则集的人,这里没有显示任何努力,此外,这不是高级 php 或复杂的逻辑,它是一些更基本的东西,很容易研究. 我不同意它可以很容易地研究,我已经搜索了一个多小时,我用我的代码尝试的每个 OR 示例都不起作用。道歉,但我没有包括我尝试过的东西,因为它们都不起作用(所以没有看到重点)。我试过的一些现在在那里 很遗憾,并不是每个人每次进入网站时都会去寻找规则,他们只是想知道答案。【参考方案3】:

我的直觉会把我引向in_array(),因为这似乎是表达这个想法的一种更简单的方式。 以下是“或”运算符的手册页。 http://php.net/manual/en/language.operators.logical.php http://php.net/manual/en/language.operators.precedence.php

【讨论】:

以上是关于带有 OR 运算符的 PHP if 语句 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

带有 BETWEEN 运算符的 MySQL IF 语句,未显示为有效

PHP 运算符 if 语句 'and' 和 'or'

PHP 比较运算符和 if (!foo()) 形式的语句

PHP 3 运算符 if...else...elseif 语句

如我所料,带有 continue 的 php if 语句以相反的方式工作

HTML Selected Value If 语句 PHP [关闭]