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