为 if 语句提供条件时出错


Error while providing the condition for if Statement

$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 - 正在发生件事(按顺序(:

  1. $flipSum的价值正在被打印出来——因此29
  2. 评估整个条件(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";
}