Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как преобразовать строку в число

Короткий ответ

Укажите нужный тип в скобках перед значением:

<?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)

Функции из этого ответа

  • round — Округляет число до заданного количества знаков.
  • intdiv — Выполняет целочисленное деление.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.