Ich schrieb ein kleines Programm, als ich auf etwas Seltsames stieß. Wenn ich wollte, dass PHP eine arithmetische Operationen der Addition oder Subtraktion mit einer Echo-Anweisung und das Ergebnis der Operation, die ich Klammern oder die HTML-Seite hinzufügen musste wollte nicht die Operation, sondern nur das Ergebnis darstellen.Warum müssen Sie bei der Verkettung den + - Operationen Klammern hinzufügen?
Unten ist ein reduziertes Beispiel.
ersten Fall (ohne Klammern):
$a = 10;
$b = 5;
echo "$a + $b = ".$a + $b."<br>"; // 15
echo "$a - $b = ".$a - $b."<br>"; // 5
echo "$a * $b = ".$a * $b."<br>"; // 10 * 5 = 50
echo "$a/$b = ".$a/$b."<br>"; // 10/5 = 2
echo "$a % $b = ".$a % $b."<br>"; // 10 % 5 = 0
zweiten Fall (mit Klammern):
$a = 10;
$b = 5;
echo "$a + $b = ".($a + $b)."<br>"; // 10 + 5 = 15
echo "$a - $b = ".($a - $b)."<br>"; // 10 - 5 = 5
echo "$a * $b = ".($a * $b)."<br>"; // 10 * 5 = 50
echo "$a/$b = ".($a/$b)."<br>"; // 10/5 = 2
echo "$a % $b = ".($a % $b)."<br>"; // 10 % 5 = 0
Könnte jemand erklären, warum dies geschieht?
In zwei Worten: [ "__Operator Precedence__"] (http: //www.php. net/manual/de/language.operators.precedence.php) –
@MarkBaker Entschuldigung, obwohl der Vorrang von Operatoren sicherlich eine Rolle spielt, ist es unklar, warum das OP die Describe-Ausgabe bekommt. Ich überprüfte und bekam das gleiche Ergebnis. Da Sie anscheinend wissen, was passiert, würden Sie gerne Ihren Kommentar ausarbeiten? Vielen Dank! – arkascha
Ein Hinweis speziell zur Verwendung von 'echo'. Nicht verketten! Verwenden Sie stattdessen ','. Z.B. 'echo" $ a + $ b = ", $ a + $ b,"
";' Sie werden nie wieder auf diese Probleme stoßen. – Yoshi