Возвращает ли функция php is_int false
для отрицательных чисел, потому что целые числа в php являются беззнаковыми или есть другое поведение, которое я пропускаю? Я пытаюсь проверить, является ли что-то целое число, и я не хочу полагаться на такое поведение is_int (для первой части теста), если оно делает что-то другое.
Пояснение: я знаю, что is_int
возвращает false
для отрицательных чисел, но я спрашиваю почему из-за такого поведения: var_dump(intval("-10"))
печатает int(-10)
и var_dump(intval("10"))
печатает int(1)
, поэтому как отрицательные, так и положительные значения считаются целыми числами, но is_int("-10")
возвращает false.
РЕДАКТИРОВАТЬ: Хорошо, извините всех, я немного запутался по поводу поведения is_int и целых чисел в целом. Я думал о том, что он действует на строку с содержимым типа «-10», когда мне нужно is_numeric
для строки или is_int
для целого числа. Спасибо за помощь.