Это не большая проблема для меня (насколько я знаю), это скорее то, что меня интересует. Но в чем основное отличие, если оно есть, использования 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
}
?>
Я предполагаю, что оба варианта делают одно и то же, но есть ли какие-либо специфические различия, которые могут вызвать проблемы в дальнейшем? Есть ли "лучший способ" или что-то, чего я не вижу, что делает их разными.