这对我来说不是什么大问题(据我所知),它更多的是让我感兴趣的东西。但是,如果有的话,使用is_numeric
over 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
}
?>
我假设两者的作用完全相同,但是是否有任何特定的差异可能会在以后以某种方式导致问题?是否有“最佳方式”或我没有看到的东西使它们与众不同。