PHP中奇怪的数字

原创
2016-06-08 17:31:32 686浏览

由一条别人adodbbug引发的思考

echo 09," => (09)
";
echo 9," => (9)
";

你可以试一下.输出结果是:

0 => (09)

9 => (9)

而不是

09 => (09)

9 => (9)

这个译者做了下测试,经过分析得出.0开头的数字会被当成8进制,0x开头的会被当成16进制,如下:

echo 0x11," => (011)
";

echo 010," => (010)
";

这个会输出:

17 => (011)

8 => (010)

当然是10x16+1=17

1x8+0=8

OK.

Someone reported a bug in ADOdb, the open source db library i maintain. I went crazy for half an hour until i realised the problem. Here''s a little gotcha you can try:

echo 09," => (09)
";
echo 9," => (9)
";

If you expect the above code to produce the same values, you are sadly mistaken. Try it. I will post a followup later :)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。