Если вы исключили 0
в качестве действительного числа для своего целочисленного идентификатора, вы можете просто сделать следующее:
$id = (int) $_GET['id'];
if (!$id) {
# no number -or- 0 given
} else {
# regardless what have been given, it has been converted at least to some integer.
}
Это путем приведения.Теперь $id
всегда является целым числом, поэтому его безопаснее использовать.
Однако чаще всего вам также необходимо проверить, что число неотрицательно:
$id = max(0, $_GET['id']);
max
функция выполняет преобразование $_GET['id']
в целое число.Это гарантирует, что идентификатор равен 0 или выше в случае, если предоставленное значение было больше 0. Если оно было 0 или ниже, максимальное значение равно 0.
Если вам необходимо действительно более строго проверить ввод,Вы можете превратить его обратно в строку для сравнения:
if ("$id" === $_GET['id'])
{
# Input was done as a string representation of the integer value.
}