① <php function hello() { echo 'hello.'; } hello() or die('die.');
<?php
function
hello()
{
echo
'hello.';
return
true;}
hello()
or
die('die.');
這樣就不走die了。因為你原先的函數沒有返回值,沒有返回值hello()的結果就相當於false了,因此die了。
你可以這樣理解
1
2
3
functionhello() {echo'hello';}
$result= hello();//因為沒有返回值,因此$result 是 null
$resultordie('die.');
明白了?
② 說一下PHP中die()和exit()區別
1、用法習慣不同,當傳遞給exit和die函數的值為0時,意味著提前終止腳本的執行,通常用exit()這個名字。
2、名字不同,其實PHP手冊已經說過「die — Equivalent to exit().This language construct is equivalent to exit(). 」兩者只是別名關系,除此之外完全一樣。
3、源碼的處理方式不同,無論是別名函數還是別名語言結構,從實際效果角度講,都是一樣的,但是源碼的處理方式還是有一定的差異。
(2)phpechodie擴展閱讀:
die()和exit()差異實例:
zend_language_parser.c中,定義了一個宏
#define T_EXIT 300
還定義了一個enum,裡面也有
enum yytokentype {
…
T_EXIT = 300,
….
}
這里告訴我們,T_EXIT這個token,它的code是300。
再看zend_language_scanner.l,其中有這么幾行代碼。
<ST_IN_SCRIPTING>」exit」 {
return T_EXIT;
}
<ST_IN_SCRIPTING>」die」 {
return T_EXIT;
}
很明顯,php做詞法分析時,無論遇到exit還是die,都會返回T_EXIT這個token。從這里酒可以證明,die和exit,再php內部處理是完全一樣的。
也可以用下列php代碼來確定:
<?php
var_mp(token_get_all(「<?php die;exit;?>」));
返回的結果中die和exit對應的token code,都是300。
PHP exit() 函數-w3school
PHP die() 函數-w3school
③ PHP echo $數組[0] 為什麼輸出有Array
$keys = "我,你,他";
$wo = explode(",", $keys);
var_mp($wo[0]);die;
echo $wo; echo後面跟數組類型的,這樣會輸出Array。
④ php連接MySQL時, 為什麼die("錯誤信息:" . $conn->connect_error) 不返回錯誤信息
親,你好!
die("錯誤信息..."); 這種方式停止腳本,只有在用php 命令在命令行運行腳本時,信息才會被輸出出來。
如果你是website的話,die()這個方法會導致一個錯誤頁面的,就像你看到的一樣,返回了一個500的頁面。所以在進行網站開發時,最好不要用die();這個方法來進行異常情況的處理。
如果你想在頁面中輸出錯誤信息,建議直接用echo 把錯誤給輸出到頁面中。但是為了安全,最好不要直接將你的錯誤信息給輸出到頁面中。你可以把錯誤信息以日誌的形式記錄到文件中。
希望可以幫到你哦!~~
⑤ 怎麼停止php代碼執行 只停止php的 其他的不停止
停止php代碼執行有兩個函數是die()和exit();
通常與錯誤管理一起使用(嚴格說來,它們是語言構造而不是函數,但是誰在意這些呢)。當在腳本中調用 die()和exit()時,將會終止整個腳本。它們都可用於阻止腳本繼續執行,而使得某些重要的操作(如建立一條資料庫連接)不會發生。你還可以給
die()和exit()傳遞一個將在瀏覽器中列印出來的字元串。
⑥ php 怎樣中斷程序
在PHP中,常用exit()來中斷程序操作,當然還有比如die(),這個和exit()是一樣的。輸出內容時可以使用echo $變數名或echo 「字元串",還可以用print()或print_r()。不同在於echo是語句,print()和print_r()是函數。希望對你有用。
⑦ PHP中如何象ASP中的response.end那樣結束程序執行
exit();
或
die();
都可以
兩者是等價的,不存在「更狠」
另外用
exit('Error: Cannot load file');
這樣的還可以在結束前輸出錯誤信息
給我加分哦
⑧ php的exit和die在函數里不起作用嗎
代碼很少,
第一 請測試類是否被new出,var_mp(這里放你new的對象);
第二 在方法第一行直接echo輸出,確認方法被調用,
第三 驗證你的query函數是否執行無誤!是否查詢出數據!