Kiedy pisałem coś dziwnego, pisałem mały program. Jeśli chciałbym, aby PHP przedstawiało operacje arytmetyczne dodawania lub odejmowania za pomocą instrukcji echo, a wynik operacji musiałem dodać nawiasy lub stronę html, nie przedstawiłbym operacji, ale tylko wynik.Dlaczego musisz dodawać nawiasy do + - operacji przy konkatenacji?
Poniżej znajduje się zredukowany przykład.
pierwszym przypadku (bez nawiasów):
$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
drugim przypadku (z nawiasami):
$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
Czy ktoś może wyjaśnić, dlaczego tak się dzieje?
w dwóch słowach, [ "__Operator Precedence__"] (http: //www.php. net/manual/pl/language.operators.precedence.php) –
@MarkBaker Przepraszamy, chociaż pierwszeństwo operatorów z pewnością odgrywa tutaj rolę, nie jest jasne, dlaczego OP otrzymuje opisową wydajność. Sprawdziłem i otrzymałem taki sam wynik. Skoro najwyraźniej wiesz, co się dzieje, czy mógłbyś rozwinąć swój komentarz? Dzięki! – arkascha
Wskazówka dotycząca użycia 'echo'. Nie łączcie się! Zamiast tego użyj ','. Na przykład. 'echo" $ a + $ b = ", $ a + $ b,"
";' Nigdy więcej nie napotkasz tych problemów. – Yoshi