2012-06-24 43 views
-2

當我使用die()時,發生了一些我覺得很奇怪的事情。下面的代碼不產生輸出:與die不一致的行爲()

die($test); 

但是,下面的代碼輸出存儲在$測試中的整數值:

die('test: ' . $test); 

究竟爲什麼會是這樣?

+0

什麼是「$ test」? –

+1

-1 http://www.emilvikstrom.se/whyidownvote.html缺乏研究。這在'exit'手冊中明確解釋過了(它是從'die'鏈接的)。 –

+3

每當你覺得有什麼奇怪的東西時,首先查看相關函數的手冊頁。謝謝! – hakre

回答

4

die與exit相同,並且由於$ test是一個整數,因此您使用整數參數調用exit。在你的第二個版本中,你正在創建一個字符串,這會導致字符串被顯示。

有一個看看這個:

http://www.php.net/manual/en/function.exit.php

void exit ([ string $status ]) 
void exit (int $status) 

「如果狀態是一個字符串,這個函數打印在退出前的狀態

如果狀態是一個整數,該值將被用作退出狀態並且不被打印,退出狀態應該在0到254之間,退出狀態255被PHP保留並且不被使用,狀態0被用來成功終止程序。

1

如果$test是一個整數,它將不會打印。從the manual

注意:如果它是一個整數,PHP> = 4.2.0不打印狀態。