【发布时间】: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