【问题标题】:Following code is not reaching the else statement以下代码未达到 else 语句
【发布时间】:2021-08-01 14:21:17
【问题描述】:

免责声明:我是编程新手,这是一个简单的练习,所以请放轻松。

以下代码未到达(打印)else 语句。非常感谢任何见解。

$number = '1120011';

    // Decimal check
    if($number[0] == '+' && $number[1] == '0'){
        echo "Error: Can't assign a plus sign on a leading zero!";
    // Leading zero check    
    } elseif($number[0] == '+' || $number[0] == '-'){
        echo "Number is decimal";
    // Binary check    
    } elseif (preg_match('~^[01]+$~', $number)) {
        echo "Number is binary";
    // Code not executing here. For e.g. $number = 1120011    
    } else {
        "Number is non binary";
    }

另一个问题:

为什么下面的“if”不能正常工作(如果我在上面的代码中替换它)。我想这与操作符的使用不当有关。

if($number[0] == '+' || $number[0] == '-' && $number[1] == '0')

提前致谢! :)

【问题讨论】:

  • 你必须小心 ||和 &&,尝试在 || 周围加上括号条款。
  • 刚刚解决了 :) 非常感谢!
  • 等等,但我真的很困惑。我将您的代码放入本地 php 文件中,执行它,然后 NOTHING 回显。从逻辑上讲,应该有所回响。 else 基于逻辑。我不明白。确切的解决方案是什么?
  • 第二个问题解决了。 || 周围的括号条款完成了这项工作。但是,我仍在为最初的(第一个)问题而苦苦挣扎。
  • 大脸! else 语句中没有回显:D

标签: php if-statement operators


【解决方案1】:

第二个问题:

if($number[0] == '+' || $number[0] == '-' && $number[1] == '0')

试试

if(($number[0] == '+')||(($number[0] == '-')&&($number[1] == '0')))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多