Это не большая проблема для меня (насколько мне известно), это больше меня заинтересовало. Но в чем основное отличие, если таковое имеется, в использовании is_numeric
over preg_match
(или наоборот) для проверки входных значений пользователя.
Пример 1:
<?php
$id = $_GET['id'];
if (!preg_match('/^[0-9]*$/', $id)) {
// Error
} else {
// Continue
}
?>
Пример два:
<?php
$id = $_GET['id'];
if (!is_numeric($id)) {
// Error
} else {
// Continue
}
?>
Я предполагаю, что оба делают точно то же самое, но есть ли какие-то конкретные различия, которые могут вызвать проблемы позже? Есть ли "лучший способ" или что-то, что я не вижу, что делает их разными.