我在论坛上看到你无法完全信任is_numeric().它允许通过"0xFF"例如允许的十六进制...
所以我的问题是你能欺骗is_numeric吗?我是否需要使用正则表达式才能正确执行?
以下是is_numeric()认为是一个数字字符串:
数字字符串由可选符号,任意数量的数字,可选的小数部分和可选的指数部分组成.因此+ 0123.45e6是有效的数值.也允许使用十六进制表示法(0xFF),但只能使用符号,十进制和指数部分.
如果您只想检查字符串是否包含十进制数字0-9,则可以使用ctype_digit().