Ihre if
Anweisungen sind außerhalb Ihrer while
Schleife. Die {}
stellen einen Codeblock dar, der basierend auf der Bedingung in der ()
Ihrer while
Anweisung ausgeführt wird. Sie müssen sie also zwischen {
und der Endung }
setzen. Probieren Sie etwas wie folgt aus:
<?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>";
}
}
?>
oder in einem Schalter: (. Wenn Sie mehr als nur 3 und 7 zu handhaben wollen, wäre ein Schalter wahrscheinlich der sauberste Weg sein)
<?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.
}
}
?>
Stellen Sie sicher, Verwenden Sie zwei Gleichheitszeichen, um Werte zu vergleichen, da ein einzelnes Gleichheitszeichen nur einen Wert der Variablen auf der linken Seite mit der Anweisung auf der rechten Seite zuweisen wird.
$x = 1; // Assignment.
Im Vergleich zu
$x == 1; // Comparison.
P. S. $x++
ist das gleiche wie $x = $x + 1
, nur eine Kurzschreibweise. Wenn sich ++
vor der Variablen befindet (z. B. ++$x
), wird der Wert erhöht, bevor die Anweisung ausgewertet wird. Wenn es danach ist (z. B. $x++
), wird die Anweisung zuerst ausgewertet (z. B. $x <= 10
), und danach wird der Wert inkrementiert.
Hoffe, das hilft.
Schauen Sie, wo Ihre While-Schleife ist und wo Ihre if-Anweisung steht. – Rizier123
und anstelle von 'if ($ x = $ x + 6)' Ich denke, Sie wollen 'if ($ x == 7)' – Dale
$ x wird "erreichen" unter If-else-Anweisungen einmal die 'while' Schleife beenden, Du musst sie also in die "While" -Schleife bewegen. und mit '=' Sie einen Wert zuweisen, nicht vergleichen. – mitkosoft