首頁  >  文章  >  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