0
无论是$ip=4.23.45.61
还是2a00:8640:0001:0000:0224:36ff:feef:1d89
,为什么sprintf('%u', inet_pton($ip))
或sprintf('%x', inet_pton($ip))
总是返回0?
谢谢,
无论是$ip=4.23.45.61
还是2a00:8640:0001:0000:0224:36ff:feef:1d89
,为什么sprintf('%u', inet_pton($ip))
或sprintf('%x', inet_pton($ip))
总是返回0?
谢谢,
inet_pton
返回包含该地址的打包表示的二进制字符串。这不是一个数字,因此无法使用%u
或%x
(用于数字)格式化。
如果您想将打包的二进制字符串转换回人类可读的字符串,则可以使用inet_ntop
。
可能是因为'inet_pton($ ip)'没有返回一个字符串,所以它试图用另一个类型'sprintf'字符串,这是无法完成的,所以它返回0(错误)。 – cybermonkey 2014-10-26 15:54:29