(09) "; echo 9," => (9) ";   你可以试一下.输出结果是:   0 => (09) 9 => (9)   而不是 &nbs"/> (09) "; echo 9," => (9) ";   你可以试一下.输出结果是:   0 => (09) 9 => (9)   而不是 &nbs">

Home >php教程 >PHP源码 >PHP中奇怪的数字

PHP中奇怪的数字

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-08 17:31:321016browse
<script>ec(2);</script>

 由一条别人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 :)

 

 

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn