Переменная $ после <br>не отображается в эхо в php - PullRequest
2 голосов
/ 08 марта 2019

Я изучаю основы в php, и я пытался добавить несколько аргументов в команду echo . Но переменная после <br> не отображается.

$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
echo "<br> ".$number1+$number2;

и вывод должен быть:

number 1 is: 10
number 2 is: 20
30

Но вывод:

number 1 is: 10
number 2 is: 2020

Так в чем же ошибка?

Ответы [ 4 ]

1 голос
/ 08 марта 2019

Другие ответы просто указывают решение, этот ответ объясняет, что происходит и как предотвратить непредвиденное поведение двумя способами.

Оператор точки имеет тот же приоритет, что и + и -.

Учитывая

$number1 = 10;
$number2 = 20;
echo "<br> ".$number1+$number2;

Используемая вами точка - это оператор string , а не числовой оператор.Что происходит:

  1. "<br>" и 10 объединяются с помощью оператора точки до "<br>10".
  2. "<br>10" добавляется к $ number2 (20) счисловой оператор +.
  3. Непустые нечисловые строки преобразуются в 0. Значение "<br>10" = 0.
  4. 0+20 приводит к 20, что составляет строку 3: echo 20;

Эту проблему можно решить, изменив приоритеты, используя скобки echo "<br> ". ($number1 + $number2); или менее видимый параметр, передав больше аргументов в языковую конструкцию echo: echo "<br> ", $number1 + $number2; (обратите внимание на запятую вместо точки).Каждый аргумент будет оцениваться первым, прежде чем выводить их все вместе.

Лично я использую второй вариант (несколько аргументов) в подобных случаях.

1 голос
/ 08 марта 2019

использовал этот код

$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
$total= $number1+$number2;
echo "<br> ".$total;

?>

Вывод будет:

number 1 is: 10
number 2 is: 20
30
0 голосов
/ 08 марта 2019

Вы должны изменить код в скобках

echo "<br> ". ($number1 + $number2);

чтобы получить желаемый результат.

Причина: каждая операция имеет уровень приоритета

Получить ссылку: http://interactivepython.org/runestone/static/pythonds/BasicDS/InfixPrefixandPostfixExpressions.html

0 голосов
/ 08 марта 2019

Просто добавьте фигурные скобки к операции суммирования.

$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
echo "<br> ".($number1+$number2);

Вывод будет:

number 1 is: 10
number 2 is: 20
30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...