# Автоматическое преобразование типов в 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'; ?>`
← →
↑