Обучение/Помощь новичкам | фильтрация числовых чисел
Тема закрыта by
SNEG
какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
________
посл. ред. 13.04.2025 в 20:51; всего 1 раз(а); by SNEG
________
посл. ред. 13.04.2025 в 20:51; всего 1 раз(а); by SNEG
Для числовых чисел abs((int)$var), для строковых строк (string)$var, для массивных массивов (array)$var, и т.д.
какой функцией php фильтровать числовые данные при вставке в бд , если число BIGINT UNSIGNED?
Тут нужно понимать, чего именно ты хочешь, а уж как фильтровать, способов много
$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