您的if
聲明在您的while
循環之外。 {}
代表根據您的while
聲明的()
中的條件運行的代碼塊,因此您需要將它們放在{
和結尾}
之間。嘗試是這樣的:
<?php
$x=0;
// You can add the increment modifier inside the
// condition too, which will save you a line of code. (Just a shortcut)
while (++$x <= 10) {
echo "The number is " . $x . "<br />";
if ($x == 3) {
echo "<font color='green'>Third time is a charm</font>";
// echo "<p>Third time is a charm</p>";
} else if ($x == 7) {
echo "<br>";
echo "<font color='blue'>You got 7! JACKPOT!</font>";
}
}
?>
或交換機(如果你要處理的不僅僅是3和7個,開關可能會是最乾淨的方式)
<?php
$x=0;
// You can add the increment modifier inside the
// condition too, which will save you a line of code. (Just a shortcut)
while (++$x <= 10) {
echo "The number is " . $x . "<br />";
switch ($x) {
case 3:
echo "<font color='green'>Third time is a charm</font>";
// echo "<p>Third time is a charm</p>";
break;
case 7:
echo "<br>";
echo "<font color='blue'>You got 7! JACKPOT!</font>";
break;
default:
// The default logic goes here.
}
}
?>
確保你使用兩個等號來比較值,因爲單個等號只會向左側的變量賦值,右側的語句會被賦值。
$x = 1; // Assignment.
相比
$x == 1; // Comparison.
附: $x++
與$x = $x + 1
相同,只是簡寫的寫法。如果++
位於變量之前(例如++$x
),則會在計算語句之前增加該值。如果在之後(例如$x++
),則首先評估該語句(例如$x <= 10
),然後該值將在之後遞增。
希望這會有所幫助。
查看while循環體的位置以及if語句的放置位置。 – Rizier123
而不是'if'($ x = $ x + 6)'我想你想'if($ x == 7)' – Dale
$ x將在'while'循環完成後,所以你必須在'while'循環內移動它們。並用'='分配一個值,而不是比較。 – mitkosoft