0

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

以下代码未到达(打印)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($number[0] == '+' || $number[0] == '-' && $number[1] == '0')

提前致谢!:)

4

1 回答 1

0

对于第二个问题:

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

尝试

if(($number[0] == '+')||(($number[0] == '-')&&($number[1] == '0')))
于 2021-08-01T15:32:54.137 回答