Принудительное преобразование типов в PHP

Иногда нам может понадобится принудительно преобразовать один тип данных в другой. Давайте посмотрим, как это делается.

Целые числа

Пусть, к примеру, у нас есть строка с цифрами:

<?php $test = '1'; var_dump($test); ?>

Давайте преобразуем ее в целое число. Для этого используем специальную команду int, вот так:

<?php $test = (int) '1'; var_dump($test); // выведет 1 - число ?>

Можно воспользоваться командой преобразования прямо в вызове функции:

<?php var_dump((int) '1'); ?>

Можно преобразовать значение переменной:

<?php $test = '1'; var_dump((int) $test); ?>

Преобразуйте следующую строку в число:

<?php $test = '12345'; ?>

Дробные числа

Пусть теперь у нас есть строка с дробным числом:

<?php $test = '1.2'; var_dump($test); ?>

Для преобразования этой строки в число следует воспользоваться командой float:

<?php $test = (float) '1.2'; var_dump($test); // выведет 1.2 ?>

Преобразуйте следующую строку в число:

<?php $test = '12.345'; ?>

Преобразование дроби к целому числу

Использование команды int для дроби приведет к тому, что от дроби извлечется только целая часть:

<?php $test = (int) '1.2'; var_dump($test); // выведет 1 ?>

Аналогичным образом команда сработает в том случае, если у нас не строка с дробью, а просто дробь как число:

<?php $test = (int) 1.2; var_dump($test); // выведет 1 ?>

Преобразуйте следующую строку в целое число:

<?php $test = '12.345'; ?>

Преобразование к строке

Можно также преобразовать число к строке:

<?php $test = (string) 123; var_dump($test); // выведет '123' ?>

Аналогичным образом будет работать преобразование дробного числа:

<?php $test = (string) 1.2; var_dump($test); // выведет '1.2' ?>

Преобразуйте следующее число в строку:

<?php $test = 12345; ?>

Преобразуйте следующее число в строку:

<?php $test = 12.345; ?>