PHP終止腳本運(yùn)行三種實(shí)現(xiàn)方法詳解
PHP中,終止腳本運(yùn)行有三種方式:主腳本程序中使用return、腳本中使用exit()、die(),三者所在的腳本文件他們之后的代碼都不會(huì)執(zhí)行。
1.die( ) 和 exit( )
在PHP中,die() 和 exit()的用法和作用是一樣的。
這兩個(gè)函數(shù)可以有參數(shù),如果參數(shù)是一個(gè)字符串,則該函數(shù)會(huì)在中止腳本運(yùn)行前輸出字符串。
如果參數(shù)是一個(gè)整數(shù),這個(gè)值被用做退出狀態(tài)。值的范圍在0到254之間。
退出狀態(tài)255由PHP保留,不會(huì)被使用;狀態(tài)0用于成功地終止程序。
注:PHP版本號(hào)大于4.2.0,括號(hào)里的值是整數(shù),不會(huì)輸出該參數(shù)。
因?yàn)閐ie()和exit()的用法和作用一樣,我就拿die()來(lái)舉例子。
代碼示例1:
在主腳本中:
<?phpheader(content-type:text/html;charset=utf-8);$a = 1;$b = 9;echo $a; // 輸出 1die; // 中止腳本運(yùn)行,下面不在運(yùn)行$sum = $a + $b;echo $sum; // 不被輸出?>
運(yùn)行結(jié)果:
1
代碼示例2:
在函數(shù)中:
<?phpheader('content-type:text/html;charset=utf-8');function A(){echo '2'; // 輸出 2die('error'); // 中止腳本運(yùn)行,并輸出括號(hào)里的字符串}echo '1'; // 先輸出 1A(); // 調(diào)用函數(shù)echo '錢(qián)難有'; // 不被輸出?>
運(yùn)行結(jié)果:
12error
解釋一下例2:'錢(qián)難有'沒(méi)有被輸出呢?
首先PHP的執(zhí)行機(jī)制是從上到下。
第一步先聲明函數(shù)
第二步執(zhí)行echo語(yǔ)句輸出1
第三步調(diào)用函數(shù)A,輸出2,執(zhí)行 die 中止腳本運(yùn)行 并輸出error
小結(jié): die( ) 和 exit( ) 不管是在主腳本或函數(shù)里都是中止腳本運(yùn)行的,后面的代碼都不在執(zhí)行。
2. return
首先return是語(yǔ)言結(jié)構(gòu),它不是函數(shù)。它可以有返回值。
如果在主腳本中調(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)行返回值的接收。
如果一個(gè)函數(shù)中包含return 語(yǔ)句,當(dāng)調(diào)用此函數(shù)時(shí),函數(shù)的執(zhí)行只會(huì)進(jìn)行到return這一步,return之后的語(yǔ)句都不會(huì)執(zhí)行,并將return的參數(shù)作為函數(shù)的值返回。
代碼示例1:
主腳本中:
<?phpheader('content-type:text/html;charset=utf-8');$name = '錢(qián)難有';echo '紅軍不怕遠(yuǎn)征難'; // 輸出return; // 中止腳本運(yùn)行echo $name; // 不被輸出?>
運(yùn)行結(jié)果:
紅軍不怕遠(yuǎn)征難
代碼示例2:
函數(shù)體中:
<?phpheader('content-type:text/html;charset=utf-8');function A(){$a = 5; $b = 4; // 定義兩個(gè)局部變量return $a + $b; // 返回 $a+$b 的值,并結(jié)束當(dāng)前腳本echo $a; // $a不在被輸出}$sum = A(); // 調(diào)用函數(shù) 并用變量接收 return 的返回值echo $sum; // 輸出 $sumecho '錢(qián)難有'; // 輸出 '錢(qián)難有'?>
運(yùn)行結(jié)果:
9
錢(qián)難有
小結(jié): 在主腳本中調(diào)用 return ,則腳本中止運(yùn)行。在函數(shù)體調(diào)用return,如果有返回值則返回,函數(shù)里的代碼不在執(zhí)行。而主腳本的代碼依然會(huì)運(yùn)行。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android如何加載Base64編碼格式圖片2. 詳解Android studio 動(dòng)態(tài)fragment的用法3. 解決Android studio xml界面無(wú)法預(yù)覽問(wèn)題4. 基于android studio的layout的xml文件的創(chuàng)建方式5. 圖文詳解vue中proto文件的函數(shù)調(diào)用6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. 什么是python的自省8. 使用Android studio查看Kotlin的字節(jié)碼教程9. Vuex localStorage的具體使用10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備