- Работа с числами в PHP
- Проверка переменных
- Является ли переменная числом
- Целое или число с плавающей точкой
- Положительное или отрицательное
- Чётное или нечётное
- Привидение к типу
- Преобразование в целое число
- Преобразование в число с плавающей точкой
- Округление
- Округление до целого числа в меньшую сторону:
- Округление до целого числа в большую сторону:
- Ведущие нули
- Добавить ведущие нули:
- Удалить ведущие нули:
- Абсолютное значение
- Сделать число отрицательным:
- Инкремент и декремент
- Минимальное значение
- is_numeric
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
- is_int
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
- is_numeric
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
Работа с числами в PHP
Сборник математических функций PHP и примеры их использования.
Проверка переменных
Является ли переменная числом
is_numeric($value) – проверяет, является ли значение или переменная числом или строкой, содержащей число.
is_numeric(1); // true is_numeric(0.1); // true is_numeric(-1); // true is_numeric(-0.1); // true is_numeric('1'); // true is_numeric('1abc'); // false is_numeric('abc'); // false
ctype_digit($value) – проверяет, являются ли все символы в строке цифрами.
ctype_digit('123'); // true ctype_digit('123.10'); // false ctype_digit('abc'); // false ctype_digit('1abc'); // false ctype_digit('abc1'); // false
is_int($value) – проверяет, является ли значение целым числом.
is_int(1); // true is_int(0.1); // false is_int(-1); // true is_int(-0.1); // false is_int('1'); // false is_int('1abc'); // false is_int('abc'); // false
is_float($value) – проверяет, является ли значение числом с плавающей точкой.
is_float(1); // false is_float(0.1); // true is_float(-1); // false is_float(-0.1); // true is_float('1'); // false is_float('1abc'); // false is_float('abc'); // false
Целое или число с плавающей точкой
Следующий пример определяет является ли число целым или с плавающей точкой, при этом не проверяет его отрицательность.
$value = 1; if (is_int($value)) < echo 'Целое число'; >elseif (is_float($value)) < echo 'Число с плавающей точкой'; >else
Положительное или отрицательное
$value = 1; if ($value == abs($value)) < echo 'Число положительное'; >if ($value != abs($value))
Чётное или нечётное
$value = 100; if (($value % 2) == 0) < echo 'Число чётное'; >if (($value % 2) != 0)
Привидение к типу
Преобразование в целое число
(int) 1; // 1 (int) 0.1; // 0 (int) -1; // -1 (int) -0.1; // 0 (int) '1'; // 1 (int) 'abc'; // 0 (int) '1abc'; // 1 (int) 'abc1'; // 0
В место (int) можно использовать (intiger) . Тоже самое делает функция intval() :
intval(1); // 1 intval(0.1); // 0 intval(-1); // -1 intval(-0.1); // 0 intval('1'); // 1 intval('abc'); // 0 intval('1abc'); // 1 intval('abc1'); // 0
Преобразование в число с плавающей точкой
(float) 1; // 1 (float) 0.1; // 0.1 (float) -1; // -1 (float) -0.1; // -0.1 (float) '1'; // 1 (float) 'abc'; // 0 (float) '1abc'; // 1 (float) 'abc1'; // 0
В место (float) можно использовать (double) или (real) и тоже самое делает функция floatval() .
floatval(1); // 1 floatval(0.1); // 0.1 floatval(-1); // -1 floatval(-0.1); // -0.1 floatval('1'); // 1 floatval('abc'); // 0 floatval('1abc'); // 1 floatval('abc1'); // 0
Округление
Функция round($value, $precision) округляет значение до указанных цифр после запятой.
echo round(100001.123456, 2); // 100001.12
Функция может окрукруглять значение целой части (числа перед запятой), для этого нужно указать отрицательное значение во втором аргументе.
Округление до целого числа в меньшую сторону:
echo floor(100.4); // 100 echo floor(100.9); // 100
Округление до целого числа в большую сторону:
echo ceil(100.4); // 101 echo ceil(100.1); // 101
Ведущие нули
Добавить ведущие нули:
echo sprintf("%06d", 100); // 000100 echo sprintf("%010d", 100); // 0000000100
Удалить ведущие нули:
echo intval('0000000100'); // 100 // Или с помощью ltrim echo ltrim('0000000100', '0'); // 100
Абсолютное значение
Функция abs($value) – возвращает абсолютное значение (модуль числа), т.е. из отрицательного делает положительное.
echo abs(100); // 100 echo abs(-100); // 100 echo abs(1.5); // 1.5 echo abs(-1.5); // 1.5
Сделать число отрицательным:
$value = 10; $value = -abs($value); echo $value; // -10
Инкремент и декремент
Инкремент – увеличение значения на единицу, бывает постфиксный и префиксный.
// Постфиксный инкремент $value = 10; echo $value++; // 10 echo $value; // 11 // Префиксный инкремент $value = 10; echo ++$value; // 11 echo $value; // 11
Декремент уменьшает значение на единицу.
// Постфиксный декремент $value = 10; echo $value--; // 10 echo $value; // 9 // Префиксный декремент $value = 10; echo --$value; // 9 echo $value; // 9
Минимальное значение
is_numeric
Определяет, является ли данная переменная числом или строкой, содержащей число.
Список параметров
Возвращаемые значения
Возвращает true , если value является числом или строкой, содержащей число или false в противном случае.
Примеры
Пример #1 Примеры использования is_numeric()
$tests = array(
«42» ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
«0x539» ,
«02471» ,
«0b10100111001» ,
«1337e0» ,
«not numeric» ,
array(),
9.1 ,
null
);
?php
foreach ( $tests as $element ) if ( is_numeric ( $element )) echo var_export ( $element , true ) . » — число» , PHP_EOL ;
> else echo var_export ( $element , true ) . » — НЕ число» , PHP_EOL ;
>
>
?>
Результат выполнения данного примера:
42 - число 1337 - число 1337 - число 1337 - число 1337 - число 1337.0 - число '0x539' - НЕ число '02471' - число '0b10100111001' - НЕ число '1337e0' - число 'not numeric' - НЕ число array ( ) - НЕ число 9.1 - число NULL - НЕ число
Смотрите также
- Строки, содержащие числа
- ctype_digit() — Проверяет наличие цифровых символов в строке
- is_bool() — Проверяет, является ли переменная булевой
- is_null() — Проверяет, является ли значение переменной равным null
- is_float() — Проверяет, является ли переменная числом с плавающей точкой
- is_int() — Проверяет, является ли переменная целым числом
- is_string() — Проверяет, является ли переменная строкой
- is_object() — Проверяет, является ли переменная объектом
- is_array() — Определяет, является ли переменная массивом
is_int
Замечание:
Чтобы проверить, что переменная является числом или строкой, содержащей число (как поле ввода в форме, которое всегда является строкой), используйте is_numeric() .
Список параметров
Возвращаемые значения
Возвращает TRUE , если var является целым числом, или FALSE в противном случае.
Примеры
Пример #1 Пример использования is_int()
$values = array( 23 , «23» , 23.5 , «23.5» , null , true , false );
foreach ( $values as $value ) echo «is_int(» ;
var_export ( $value );
echo «) = » ;
var_dump ( is_int ( $value ));
>
?>?php
Результат выполнения данного примера:
is_int(23) = bool(true) is_int('23') = bool(false) is_int(23.5) = bool(false) is_int('23.5') = bool(false) is_int(NULL) = bool(false) is_int(true) = bool(false) is_int(false) = bool(false)
Смотрите также
- is_bool() — Проверяет, является ли переменная булевой
- is_float() — Проверяет, является ли переменная числом с плавающей точкой
- is_numeric() — Проверяет, является ли переменная числом или строкой, содержащей число
- is_string() — Проверяет, является ли переменная строкой
- is_array() — Определяет, является ли переменная массивом
- is_object() — Проверяет, является ли переменная объектом
is_numeric
Проверяет, является ли данная переменная числом. Строки, содержащие числа, состоят из необязательного знака, любого количества цифр, необязательной десятичной части и необязательной экспоненциальной части. Так, +0123.45e6 является верным числовым значением. Шестнадцатеричная (0xFF), двоичная (0b10100111001) и восьмеричная (0777) записи также допускаются, но только без знака, десятичной и экспоненциальной части.
Список параметров
Возвращаемые значения
Возвращает TRUE , если var является числом или строкой, содержащей число, в противном случае возвращается FALSE .
Примеры
Пример #1 Примеры использования is_numeric()
$tests = array(
«42» ,
1337 ,
0x539 ,
02471 ,
0b10100111001 ,
1337e0 ,
«not numeric» ,
array(),
9.1
);
?php
foreach ( $tests as $element ) if ( is_numeric ( $element )) echo «‘ < $element >‘ — число» , PHP_EOL ;
> else echo «‘ < $element >‘ — НЕ число» , PHP_EOL ;
>
>
?>
Результат выполнения данного примера:
'42' - число '1337' - число '1337' - число '1337' - число '1337' - число '1337' - число 'not numeric' - НЕ число 'Array' - НЕ число '9.1' - число
Смотрите также
- ctype_digit() — Проверяет на наличие цифровых символов в строке
- is_bool() — Проверяет, является ли переменная булевой
- is_null() — Проверяет, является ли значение переменной равным NULL
- is_float() — Проверяет, является ли переменная числом с плавающей точкой
- is_int() — Проверяет, является ли переменная переменной целочисленного типа
- is_string() — Проверяет, является ли переменная строкой
- is_object() — Проверяет, является ли переменная объектом
- is_array() — Определяет, является ли переменная массивом