【问题标题】:Display text but NOT if either $variable1 OR $variable2 are TRUE显示文本,但如果 $variable1 或 $variable2 为 TRUE,则不显示
【发布时间】:2013-06-20 15:33:37
【问题描述】:

我遇到了一个应该很简单的问题,但却让我难住了。

我有无限数量的变量:$variable1、$variable2、$variable3、$variable4 等

我有一堆想要显示的 HTML,但如果 $variable1 或 $variable2 为真,则不会。

我开始用这个,但它不起作用......

//Display the following, but NOT if $variable1 OR $variable2 are TRUE
if ( !$variable1 || !$variable2 ){

【问题讨论】:

  • “无限数量” .. 听起来很糟糕。
  • 这些无限的变量都是从哪里来的?
  • 这并不是无限的。变量是手动添加的,所以我们只讨论 5-10 个变量。
  • 您说的是互斥,即XOR

标签: php if-statement


【解决方案1】:

如果两者都不为真,这些语句将返回真(如标题中所述):

!($variable1 || $variable2)
// or
!$variable1 && !$variable2`

根据De Morgan's laws这些是等价的


这里指的是outdated version of the original question

如果两个变量中的一个为真(如第 3 段所述),则此语句将返回真:

$variable1 XOR $variable2
// or 
($variable1 && !$variable2) || ($variable2 && !$variable1)


正如您所说,您有无限数量的变量,您应该考虑使用数组并检查 foreach-loop 中的值。

【讨论】:

  • 谢谢@TimWolla。是的,我非常愚蠢!这是我使用的:if (!$variable1 && !$variable2 ){
  • 我喜欢这一系列的编辑,因为您注意到标题、正文和据称功能失调的代码之间的不一致 :)
  • @MarkR21 请编辑问题以匹配标题或编辑标题以匹配问题
【解决方案2】:

你也可以试试这个。

if($variable1 xor $variable2)

【讨论】:

    猜你喜欢
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    相关资源
    最近更新 更多