Как преобразовать строку в число
Короткий ответ
Укажите нужный тип в скобках перед значением:
<?php
var_dump((int) '42');
var_dump((float) '3.14');Результат:
int(42)
float(3.14)Проверить, что строка — число
Перед преобразованием данные от пользователя стоит проверить функцией is_numeric():
<?php
var_dump(is_numeric('42'));
var_dump(is_numeric('3.14'));
var_dump(is_numeric('42abc'));Результат:
bool(true)
bool(true)
bool(false)Осторожно с лишними символами
Приведение типа не сообщает об ошибке: оно берёт цифры в начале строки, а если их нет — возвращает ноль.
<?php
var_dump((int) '12abc');
var_dump((int) 'abc');Результат:
int(12)
int(0)