Loading...
Обучение/Помощь новичкам | фильтрация числовых чисел
какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
________
посл. ред. 13.04.2025 в 20:51; всего 1 раз(а); by SNEG
Для числовых чисел abs((int)$var), для строковых строк (string)$var, для массивных массивов (array)$var, и т.д.
SNEG (13 апр 2025, в 19:49)
какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
Учитывая твои предыдущие темы, ты пишешь на пыхе ниже 7, здесь можно использовать вариант, если число в виде строки, то ctype_digit(), если бы версия пыха была выше, можно было воспользоваться встроенными функция типа filter_var()

Тут нужно понимать, чего именно ты хочешь, а уж как фильтровать, способов много
SNEG , filter_var() с флагом FILTER_VALIDATE_INT

$number = $_POST['some_input'] ?? null;

// Проверка, что это положительное целое число
$filtered = filter_var($number, FILTER_VALIDATE_INT, [
'options' => [
'min_range' => 0, // минимум для UNSIGNED
'max_range' => PHP_INT_MAX, // максимум зависит от системы (на 64-бит — 9223372036854775807)
]
]);

if ($filtered === false) {
die('Неверное значение числа!');
}

FILTER_VALIDATE_INT — проверяет, что значение — это корректное целое число.
min_range => 0 — потому что UNSIGNED не допускает отрицательных значений.
max_range зависит от PHP и платформы:
32-бит: PHP_INT_MAX = 2147483647
64-бит: PHP_INT_MAX = 9223372036854775807
Онлайн: 5
Время:
Gen. 0.0747
(c) ByMAS.RU 2010-2025