$h = 30;
$flipSum = $h - 1;
if (5 < print $flipSum) {
echo "Yes";
}
else {
echo "No";
}
此文件的输出为"29No"。错误在哪里?我希望输出为"是"。
此外,当我删除$h并$flipSum并使用如下所示的一个变量替换它时,我遇到了错误。如何使用括号?
$h = 30;
if (1 < print $h - 1) {
echo "s";
}
else {
echo "Sa";
}
这给出了相同的输出"29No"。
谢谢西
条件的开场白应该是:
if (5 < $flipSum) {
你想要的是求5 < $flipSum
,其中$flipSum
大概是某个数字。您实际要做的是评估5 < print $flipSum
- 其中print $flipSum
的返回值始终 1
。因此,您看到No
作为返回值。
详细信息:返回值29No
的原因是 - 在5 < print $flipSum
- 正在发生两件事(按顺序(:
$flipSum
的价值正在被打印出来——因此29
- 评估整个条件(
false
(并输入相应的块 - 因此No
PHP 中的打印语句总是返回 1。这就是为什么你得到否作为输出
有关打印的更多信息:http://www.php.net/print
不要在if
逻辑中使用print
构造,因为它总是返回1
:
$h = 30;
$flipSum = $h - 1;
if (5 < $flipSum) {
echo "{$flipSum}Yes";
} else {
echo "{$flipSum}No";
}