>  기사  >  php教程  >  php,你可能不知道的“死亡”陷阱

php,你可能不知道的“死亡”陷阱

WBOY
WBOY원래의
2016-06-06 19:48:571372검색

die(time()*1000); 会输出什么? 嗯也许你会说它输出当前时间戳的1000倍。 但是你错了!它并不一定按照你的预期输出正确的。 在32位的操作系统中,它会输出时间戳的1000倍,但在64操作系统中它什么也不会输出。 why?看看手册吧: 如果 PHP 的版本号大于等于

die(time()*1000);

会输出什么?

嗯也许你会说它输出当前时间戳的1000倍。

但是你错了!它并不一定按照你的预期输出正确的值。

在32位的操作系统中,它会输出时间戳的1000倍,但在64操作系统中它什么也不会输出。

why?看看手册吧:

如果 PHP 的版本号大于等于 4.2.0,那么在 die参数是整数的情况下,不会输出该参数。

好吧,在32位操作系统中,time()*1000已经超出了整形的长度,php会将它转化为浮点型输出。

以下是扩展信息:

 die是exit的一个别名,而exit并非真正的函数,而是像echo一样是一条语句(a language construct)。前面说到如果函数的参数是整形,它书不会输出的,这是为什么呢?exit表示脚本退出,儿这个整形的参数标识退出的状态,取值从0到255。0表示正常退出,非零标识为错误码。

[php]<br>//exit program normally<br>exit;<br>exit();<br>exit(0);<br><br>//exit with an error code<br>exit(1);<br>exit(0376); //octal<br>[/php]

http://hipop.co.cc/archives/105 

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