首頁  >  文章  >  後端開發  >  PHP函數運用之怎麼退出腳本程序

PHP函數運用之怎麼退出腳本程序

青灯夜游
青灯夜游原創
2021-08-20 12:06:522804瀏覽

在先前的文章《PHP函數運用之怎麼進行進制的轉換》中,我們了解使用PHP如何進行二進制數和十進制數的相互轉換、十進制數和十六進制數的相互轉換、十進制數和八進制數的相互轉換,有興趣的朋友可以學習了解一下~

#本文的重點是「終止腳本的運行,退出當前程式」;我們需要透過一條語句告訴PHP引擎,此語句之後的其他語句不需要執行了。

那麼怎麼才能實現終止腳本執行操作呢?其實,PHP提供了兩個內建函數「die()」和「exit()就能完成這個動作!

我們來看看下面兩個範例

<?php
$a = 1;
$b = 9;
echo $a; // 输出 1
die(); // 终止脚本运行,下面不在运行
$sum = $a + $b;
echo $sum; // 不被输出
?>

輸出結果:

PHP函數運用之怎麼退出腳本程序

#
<?php
$a = 1;
$b = 9;
echo $a; // 输出 1
exit(); // 终止脚本运行,下面不在运行
$sum = $a + $b;
echo $sum; // 不被输出
?>

輸出結果:

PHP函數運用之怎麼退出腳本程序

可以看出,兩個程式都在第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; // 不被输出
    ?>

PHP函數運用之怎麼退出腳本程序

利用這個特性,當程式出錯時,我們可以給它傳遞一個字串,它會原樣輸出在系統終端上

$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 &#39;$i = &#39;.$i.&#39;<br>&#39;;
        }
    }
    echo &#39;循环外的一个输出<br>&#39;;
?>

輸出結果:

PHP函數運用之怎麼退出腳本程序

終止程式的執行除了可以使用die()和exit()函數外,還可以利用

return語句來實作。

首先我們要知道:

return是語言結構而不是函數

return:表示執行到該處退出;如果是在函數中,表示退出函數,如果是在腳本中,表示腳本停止執行。

  • 如果在全域範圍中調用,則目前腳本檔案中止運行。如果目前腳本檔案是被 include 的或 require 的,則控制交回呼叫檔案。此外,如果目前腳本是被 include 的,則 return 的值會被當作 include 呼叫的回傳值,對應的在主腳本檔案中定義一個變數進行傳回值的接收。

  • <?php
    //包含demo13_ stop. php
    $test = include &#39; demo13_ stop.php&#39; ;
    var_ dump($test) ;
    ?>
 demo13_stop.php


#

<?php
   //终止脚本执行
   echo &#39;start&#39;;

   //return
   return &#39;*&#39;;
?>

  • 如果在主腳本檔案中呼叫 return,則腳本中止執行。

總結:

PHP提供的終止腳本執行的方式有三種:return,die(),exit()

return一般用於結束目前的函數/檔案/腳本/其他的執行,並將資訊傳回給呼叫他的其他函數/檔案/腳本/其他。

die()和exit()是使當前執行停止到這裡,並且不再進行下去。如果有參數,會直接列印出來(只針對字串)。

那麼如果剛好需要輸出的是一個數值變量,則可使用

"{}"來包裹數值變數:

<?php
$a = 1;
$b = 9;
exit("{$a}"); // 终止脚本运行,下面不在运行
$sum = $a + $b;
echo $sum; // 不被输出
?>

輸出結果為:


1

好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →

php影片教學#

以上是PHP函數運用之怎麼退出腳本程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn