Как преобразовать строку в число в PHP
Как мы знаем, PHP не требует и не поддерживает явное определение типа в объявлении переменной. Однако вы можете заставить переменную оцениваться как определенный тип, используя приведение типа.
Давайте попробуем следующий пример, чтобы понять, как это работает:
<?php
$num = "2.75";
// Преобразуем в integer
$int = (int)$num;
echo gettype($int); // Выводит: integer
echo $int; // Выводит: 2
// Преобразуем во float
$float = (float)$num;
echo gettype($float); // Выводит: double
echo $float; // Выводит: 2.75
?>
Вы можете использовать (int)
или (integer)
, чтобы преобразовать переменную в целое число, использовать (float)
, (double)
или (real)
, чтобы преобразовать переменную в float
(десятичное число). Точно так же вы можете использовать (string)
для преобразования переменной в строку и т. д.
Функция PHP gettype()
возвращает «double
» в случае числа с плавающей запятой по историческим причинам.
В качестве альтернативы вы также можете использовать функцию intval()
для получения целочисленного значения переменной.
<?php
echo intval(2); // Выводит: 2
echo intval(2.75); // Выводит: 2
echo intval('34'); // Выводит: 34
echo intval('+34'); // Выводит: 34
echo intval('-34'); // Выводит: -34
echo intval(034); // Выводит: 28
echo intval('034'); // Выводит: 34
echo intval(1e10); // Выводит: 10000000000
echo intval('1e10'); // Выводит: 10000000000
echo intval(0xff); // Выводит: 255
echo intval('0xff'); // Выводит: 0
?>