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

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

PHP中奇怪的数字

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-08 17:31:321003검색
<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 :)

 

 

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.