Сборник математических функций 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 {
echo 'Не число';
}
Положительное или отрицательное
$value = 1;
if ($value == abs($value)) {
echo 'Число положительное';
}
if ($value != abs($value)) {
echo 'Число отрицательное';
}
Чётное или нечётное
$value = 100;
if (($value % 2) == 0) {
echo 'Число чётное';
}
if (($value % 2) != 0) {
echo 'Число не чётное';
}
Преобразование в целое число
(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 round(25674, -2); // 25700
Округление до целого числа в меньшую сторону:
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
echo min(6, 0, 1, 10); // 0
Минимальное значение из массива:
$array = array(6, 0, 1, 10);
echo min($array); // 0
Минимальное значение, исключая ноль:
function min_not_null(Array $values) {
return min(array_diff(array_map('intval', $values), array(0)));
}
$array = array(6, 0, 1, 10);
echo min_not_null($array); // 1
echo max(6, 0, 1, 10); // 10
Максимальное значение из массива:
$array = array(6, 0, 1, 10);
echo max($array); // 10
Возведение в степень:
echo pow(100, 2); // 10000
Квадратный корень:
echo sqrt(9); // 3
Натуральный логарифм:
echo log(10); // 2.302585092994
$x = 0.5;
echo sin($x); // 0.4794255386042
echo cos($x); // 0.87758256189037
echo tan($x); // 0.54630248984379
echo asin($x); // 0.5235987755983
echo acos($x); // 1.0471975511966
echo atan($x); // 0.46364760900081





