PHP is_numeric ou preg_match 0-9 validação
Este não é um grande problema para mim (pelo que sei), é mais algo que me interessa. Mas qual é a principal diferença, se houver, de usaris_numeric
sobrepreg_match
(ou vice-versa) para validar os valores de entrada do usuári
Exemplo Um:
<?php
$id = $_GET['id'];
if (!preg_match('/^[0-9]*$/', $id)) {
// Error
} else {
// Continue
}
?>
Exemplo Dois:
<?php
$id = $_GET['id'];
if (!is_numeric($id)) {
// Error
} else {
// Continue
}
?>
Presumo que ambos façam exatamente o mesmo, mas existem diferenças específicas que podem causar problemas mais tarde? Existe uma "melhor maneira" ou algo que não estou vendo que os torne diferentes.