我在if then else if语句中有2个while循环,代码可以工作,一切都很好,但只是一个小问题。
拿我的第一个例子,我在while循环上声明它要执行的真实语句,
if ($levelChange > 0) {
while ($levelChange != 0) {
echo '<p>You gained a level you are now ' . ($levelChange + $user['level']) . '</p>';
$levelChange--;
}
}
elseif ($levelChange < 0) {
while ($levelChange != 0) {
echo '<p>You just lost a level you are now ' . ($levelChange + $user['level']) . '</p>';
$levelChange++;
}
}
我的第二个例子我没有,
if ($levelChange > 0) {
while ($levelChange) {
echo '<p>You gained a level you are now ' . ($levelChange + $user['level']) . '</p>';
$levelChange--;
}
}
elseif ($levelChange < 0) {
while ($levelChange) {
echo '<p>You just lost a level you are now ' . ($levelChange + $user['level']) . '</p>';
$levelChange++;
}
}
他们都工作,但哪一个更好用,为什么,如果有人知道哪个可以更快,请启发我,
由于
答案 0 :(得分:2)
PHP将其参数转换为需要条件语句的布尔值。对于数字,每个非零值(!= 0
)的计算结果为true。 boolean type的PHP文档有一个表格,其中包含不同类型的转换规则。
因此,if($x)
相当于if($x == TRUE)
。两种形式之间没有任何(可测量的)性能差异。
答案 1 :(得分:1)
在这种情况下,我会说这是你的偏好。我可能会将比较用于0,但这只是我的偏好,因为对于阅读代码的其他人来说,它稍微冗长一些。无论如何,性能都不会有太大变化。