【问题标题】:Using Logical Operators in PHP if/else [closed]在 PHP if/else 中使用逻辑运算符 [关闭]
【发布时间】:2013-05-01 21:02:53
【问题描述】:

是否可以在 PHP 中 if/then 语句的“then”部分使用逻辑运算符?

这是我的代码:

if ($TMPL['duration'] == NULL) {
$TMPL['duration'] = ('120' or '124' or '114' or '138'); }
else {
$TMPL['duration'] = ''.$TMPL['duration']; }

【问题讨论】:

  • then 声明的逻辑含义是什么?我不明白你想要达到什么目的......
  • 使用管道符号? |
  • 我认为他的意思是elseif
  • 不确定我是否理解...您的意思是将多个 IF 语句与 OR (||) 结合起来吗?
  • 抱歉没说清楚。我想要做的是,如果持续时间等于 NULL,则通过随机选择一个来设置持续时间等于任何这些数字。这可能吗?

标签: php if-statement logical-operators


【解决方案1】:

使用else if

$a = 1;

if($a === 1) {
    // do something
} else if ($a === 2) {
    // do something else    
}

请注意,在大多数情况下 switch 语句会更好,例如:

switch($a) {
    case 1:
        // do something
        break;

    case 2:
        // do something else
        break;
}

或:

switch(TRUE) {
    case $a === 1 :
        // do something else    
        break;

    case $b === 2 :
        // do something else
        break;
}

【讨论】:

  • 我要做的是,如果持续时间等于 NULL,则通过随机选择一个来设置持续时间等于任何这些数字。这可能吗?
  • 使用这个:pastebin.com/6sNhh83G
【解决方案2】:

你的目标是switch吗?

switch($TMPL['duration']) {
    case NULL:
    case '120':
    case '124':
    case '114':
    case '138':
        <do stuff>
        break;
    default:
        $TMPL['duration'] = ''.$TMPL['duration'];
}

【讨论】:

    【解决方案3】:

    你也可以使用in_array

    if ($TMPL['duration'] === NULL
        || in_array($TMPL['duration'], array('120','124','114','138')) {
        // Do something if duration is NULL or matches any item in the array
    } else {
        // Do something if duration is not NULL or does not match any item in array
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多