溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP怎么退出當(dāng)前程序

發(fā)布時(shí)間:2021-08-20 12:40:00 來源:億速云 閱讀:139 作者:chen 欄目:編程語言

這篇文章主要介紹“PHP怎么退出當(dāng)前程序”,在日常操作中,相信很多人在PHP怎么退出當(dāng)前程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP怎么退出當(dāng)前程序”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

本文的重點(diǎn)是“終止腳本的運(yùn)行,退出當(dāng)前程序”;我們需要通過一條語句告訴PHP引擎,此語句之后的其他語句不需要執(zhí)行了。

那么怎么才能實(shí)現(xiàn)終止腳本執(zhí)行操作呢?其實(shí),PHP中提供了兩個(gè)內(nèi)置函數(shù)“die()”和“exit()就能完成這個(gè)操作!

我們來看看下面兩個(gè)例子

<?php
$a = 1;
$b = 9;
echo $a; // 輸出 1
die(); // 終止腳本運(yùn)行,下面不在運(yùn)行
$sum = $a + $b;
echo $sum; // 不被輸出
?>

輸出結(jié)果:

PHP怎么退出當(dāng)前程序

<?php
$a = 1;
$b = 9;
echo $a; // 輸出 1
exit(); // 終止腳本運(yùn)行,下面不在運(yùn)行
$sum = $a + $b;
echo $sum; // 不被輸出
?>

輸出結(jié)果:

PHP怎么退出當(dāng)前程序

可以看出,兩個(gè)程序都在第 5 行退出(終止執(zhí)行)了,并沒有執(zhí)行第 6 行和第 7 行的代碼。

其實(shí) exit 和 die 這兩個(gè)名字指向的是同一個(gè)函數(shù),die() 是 exit() 函數(shù)的別名,兩個(gè)函數(shù)本質(zhì)上是一樣的。且die()和exit() 函數(shù)還接受一個(gè)可選參數(shù) $message ,用于在退出當(dāng)前腳本時(shí)輸出一個(gè)消息。

exit($message);
die($message);

$message可以是一個(gè)具體的數(shù)值(int 類型),也可以是一個(gè)字符串(String類型),還可以不輸入任何參數(shù)。

  • 如果為 int 類型,那么該值會(huì)作為退出狀態(tài)碼,并且不會(huì)被打印輸出。(退出狀態(tài)碼的取值范圍在 0 至 254 之間。)

<?php
$a = 1;
$b = 9;
echo $a; // 輸出 1
exit(0); // 終止腳本運(yùn)行,下面不在運(yùn)行
$sum = $a + $b;
echo $sum; // 不被輸出
?>

注意:不要使用被 PHP 保留的退出狀態(tài)碼 255。 狀態(tài)碼  0 用于成功中止程序。

  • 如果為String類型,則函數(shù)會(huì)打印該字符串并退出當(dāng)前腳本;

<?php
header("content-type:text/html;charset=utf-8");
$a = 1;
$b = 9;
echo $a; // 輸出 1
exit("<br>退出腳本"); // 終止腳本運(yùn)行,下面不在運(yùn)行
$sum = $a + $b;
echo $sum; // 不被輸出
?>

PHP怎么退出當(dāng)前程序

利用這個(gè)特性,當(dāng)程序出錯(cuò)時(shí),我們可以給它傳遞一個(gè)字符串,它會(huì)原樣輸出在系統(tǒng)終端上

$fp=fopen("./readme.txt","r") or die("不能打開該文件");
//這種情況下,如果fopen函數(shù)被調(diào)用返回布爾值false時(shí),die()將立即終止腳本,并馬上打印
//傳遞給它的字符串,“死前還能說一兩句話”。

說明:雖然die()和exit()兩者相同,但通常使用中也有細(xì)微的選擇性。例如:

當(dāng)傳遞給exit和die函數(shù)的值為0時(shí),意味著提前終止腳本的執(zhí)行,通常用exit()這個(gè)名字。

當(dāng)程序出錯(cuò)時(shí),可以給它傳遞一個(gè)字符串,它會(huì)原樣輸出在系統(tǒng)終端上,通常使用die()這個(gè)名字。

die()和exit() 函數(shù)可以用于循環(huán)語句,能起到跳出循環(huán)的作用

<?php
    for ($i=0; $i < 10; $i++) {
        if ($i == 2) {
            die;
        } else {
            echo '$i = '.$i.'<br>';
        }
    }
    echo '循環(huán)外的一個(gè)輸出<br>';
?>

輸出結(jié)果:

PHP怎么退出當(dāng)前程序

終止程序的運(yùn)行除了可以使用die()和exit()函數(shù)外,還可以利用return語句來實(shí)現(xiàn)。

首先我們要知道:return是語言結(jié)構(gòu)而不是函數(shù)。

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

  • 如果在全局范圍中調(diào)用,則當(dāng)前腳本文件中止運(yùn)行。如果當(dāng)前腳本文件是被 include 的或者 require 的,則控制交回調(diào)用文件。此外,如果當(dāng)前腳本是被 include 的,則 return 的值會(huì)被當(dāng)作 include 調(diào)用的返回值,相應(yīng)的在主腳本文件中定義一個(gè)變量進(jìn)行返回值的接收。

<?php
//包含demo13_ stop. php
$test = include ' demo13_ stop.php' ;
var_ dump($test) ;
?>

demo13_stop.php

<?php
   //終止腳本執(zhí)行
   echo 'start';

   //return
   return '*';
?>
  • 如果在主腳本文件中調(diào)用 return,則腳本中止運(yùn)行。

總結(jié):

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

return一般用于結(jié)束當(dāng)前的函數(shù)/文件/腳本/其他的執(zhí)行,并將信息返回給調(diào)用他的其他 函數(shù)/文件/腳本/其他 。

die()和exit()是使當(dāng)前執(zhí)行停止到這里,并且不再進(jìn)行下去。如果有參數(shù),會(huì)直接打印出來(只針對字符串)。

那么如果剛好需要輸出的是一個(gè)數(shù)值變量,則可使用"{}"來包裹數(shù)值變量:

<?php
$a = 1;
$b = 9;
exit("{$a}"); // 終止腳本運(yùn)行,下面不在運(yùn)行
$sum = $a + $b;
echo $sum; // 不被輸出
?>

輸出結(jié)果為:

1

到此,關(guān)于“PHP怎么退出當(dāng)前程序”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI