作者:倩女碧海蓝天_979 | 来源:互联网 | 2018-07-17 09:19
ec(2); 由一条别人adodb的bug引发的思考 echo09,">(09)<br>";echo9,">(9)<br>"; 你可以试一下.输出结果是: 0>(09)9>(9) 而不是&nbs
由一条别人adodb的bug引发的思考
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 :)