以下代码未到达 else 语句

时间:2021-08-01 14:21:17

标签: php if-statement operators

免责声明:我是编程新手,这是我正在做的一个简单练习,所以对我来说很轻松。

以下代码未到达(打印)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')

提前致谢! :)

1 个答案:

答案 0 :(得分:0)

对于第二个问题:

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

试试

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