Автоматическое преобразование типов в PHP
Как вы уже знаете, строки в PHP следует брать в кавычки. Может быть такое, что всеми символами строки будут являться цифры. В этом случае, если над строкой с цифрами выполнить какую-либо математическую операцию - эта операция будет выполнена так, будто у нас действительно числа, а не строки:
<?php
echo '1' + '2'; // выведет 3
?>
В данном случае PHP видит, что мы пытаемся выполнить недопустимую для строк, но допустимую для чисел операцию. Он также видит, что фактически наши строки - это числа в кавычках. Поэтому PHP автоматически выполняет преобразование этих строк к чисел и выполняет соответствующую математическую операцию над ними.
Аналогичным образом будет происходить сложение строки с цифрами и обычного числа:
<?php
echo '1' + 2; // выведет 3
?>
При этом не будет иметь значения, в каком порядке выполнять сложение:
<?php
echo 1 + '2'; // выведет 3
?>
Все сказанное будет аналогичным образом работать и для переменных:
<?php
$a = '1';
$b = '2';
echo $a + $b; // выведет 3
?>
Не запуская код, определите, что выведется на экран:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>