在先前的文章《PHP函數運用之怎麼進行進制的轉換》中,我們了解使用PHP如何進行二進制數和十進制數的相互轉換、十進制數和十六進制數的相互轉換、十進制數和八進制數的相互轉換,有興趣的朋友可以學習了解一下~
#本文的重點是「終止腳本的運行,退出當前程式」;我們需要透過一條語句告訴PHP引擎,此語句之後的其他語句不需要執行了。
那麼怎麼才能實現終止腳本執行操作呢?其實,PHP提供了兩個內建函數「die()
」和「exit()
」就能完成這個動作!
我們來看看下面兩個範例
<?php $a = 1; $b = 9; echo $a; // 输出 1 die(); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
輸出結果:
#<?php $a = 1; $b = 9; echo $a; // 输出 1 exit(); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
輸出結果:
可以看出,兩個程式都在第5 行退出(終止執行)了,並沒有執行第6 行和第7 行的程式碼。
其實 exit 和 die 這兩個名字指向的是同一個函數,die() 是 exit() 函數的別名,兩個函數本質上是一樣的。且die()和exit() 函數也接受一個可選參數 $message
,用於在退出目前腳本時輸出一個訊息。
exit($message); die($message);
$message可以是一個特定的數值(int 類型),也可以是字串(String類型),也可以不輸入任何參數。
如果為 int 類型,那麼該值會作為退出狀態碼,並且不會被列印輸出。 (退出狀態碼的值範圍在 0 至 254 之間。)
<?php $a = 1; $b = 9; echo $a; // 输出 1 exit(0); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
#注意:不要使用被 PHP 保留的退出狀態碼 255。狀態碼 0 用於成功中止程序。
如果為String類型,則函數會列印該字串並退出目前腳本;
<?php header("content-type:text/html;charset=utf-8"); $a = 1; $b = 9; echo $a; // 输出 1 exit("<br>退出脚本"); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
$fp=fopen("./readme.txt","r") or die("不能打开该文件"); //这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印 //传递给它的字符串,“死前还能说一两句话”。
說明:雖然die()和exit()兩者相同,但通常使用中也有細微的選擇性。例如:當傳遞給exit和die函數的值為0時,表示提前終止腳本的執行,通常用exit()這個名字。 當程式出錯時,可以給它傳遞一個字串,它會原樣輸出在系統終端上,通常使用die()這個名字。die()和exit() 函數可以用在迴圈語句,能起到跳出迴圈的作用
<?php for ($i=0; $i < 10; $i++) { if ($i == 2) { die; } else { echo '$i = '.$i.'<br>'; } } echo '循环外的一个输出<br>'; ?>
return語句
來實作。
return是語言結構而不是函數。
return:表示執行到該處退出;如果是在函數中,表示退出函數,如果是在腳本中,表示腳本停止執行。<?php //包含demo13_ stop. php $test = include ' demo13_ stop.php' ; var_ dump($test) ; ?>
#
<?php //终止脚本执行 echo 'start'; //return return '*'; ?>
總結:
"{}"來包裹數值變數:
<?php $a = 1; $b = 9; exit("{$a}"); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
1
以上是PHP函數運用之怎麼退出腳本程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!