您好,登錄后才能下訂單哦!
這篇文章主要介紹“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 $a = 1; $b = 9; echo $a; // 輸出 1 exit(); // 終止腳本運(yùn)行,下面不在運(yùn)行 $sum = $a + $b; echo $sum; // 不被輸出 ?>
輸出結(jié)果:
可以看出,兩個(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; // 不被輸出 ?>
利用這個(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é)果:
終止程序的運(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í)用的文章!
免責(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)容。