Предполагая, что вы имеете в виду safe в терминах SQL-инъекция или XSS-атаки , тогда возможно да. Приведение к int
только гарантирует, что значение является целым числом. Целое число не является обычно опасным в любом контексте. Это не гарантирует сохранность целого числа . Это может быть 0
, который может иметь или не иметь особого значения в вашем коде, например, при сравнении с false
. Или это может быть отрицательным, что, опять же, может иметь или не иметь каких-либо побочных эффектов в вашем коде.
«Безопасность» не абсолютная вещь. Сама строка "1 = 1; DROP TABLE users"
тоже довольно безопасна . Это зависит только от контекста, в котором вы его используете. Точно так же, 0
совершенно безопасен, пока ваш код не включает if (!$number) deleteAllUsers();
.