PHP中終止腳本運行有三種方式die()、exit()、return【轉】


PHP中,終止腳本運行有三種方式:主腳本程序中使用return、腳本中使用exit()、die(),三者所在的腳本文件他們之后的代碼都不會執行。

1. die( ) 和 exit( )

在PHP中,die() 和 exit()的用法和作用是一樣的。

這兩個函數可以有參數,如果參數是一個字符串,則該函數會在中止腳本運行前輸出字符串。

如果參數是一個整數,這個值被用做退出狀態。值的范圍在0到254之間。

退出狀態255由PHP保留,不會被使用;狀態0用於成功地終止程序。

注:PHP版本號大於4.2.0,括號里的值是整數,不會輸出該參數。

因為die()和exit()的用法和作用一樣,我就拿die()來舉例子。

代碼示例1:

在主腳本中:

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

運行結果:

1

代碼示例2:
在函數中:

<?php
header("content-type:text/html;charset=utf-8");
function A(){
    echo "2"; // 輸出 2
    die("error"); // 中止腳本運行,並輸出括號里的字符串
}
echo "1"; // 先輸出 1
A(); // 調用函數
echo "錢難有"; // 不被輸出
?>

運行結果:

1
2
error

解釋一下例2:"錢難有"沒有被輸出呢?

首先PHP的執行機制是從上到下。
第一步先聲明函數
第二步執行echo語句輸出1
第三步調用函數A,輸出2,執行 die  中止腳本運行 並輸出error
小結: die( ) 和 exit( ) 不管是在主腳本或函數里都是中止腳本運行的,后面的代碼都不在執行。
2. return

首先return是語言結構,它不是函數。它可以有返回值。

如果在主腳本中調用,則當前腳本文件中止運行。如果當前腳本文件是被 include 的或者 require 的,則控制交回調用文件。此外,如果當前腳本是被 include 的,則 return 的值會被當作 include 調用的返回值,相應的在主腳本文件中定義一個變量進行返回值的接收。

如果一個函數中包含return 語句,當調用此函數時,函數的執行只會進行到return這一步,return之后的語句都不會執行,並將return的參數作為函數的值返回。

代碼示例1:

主腳本中:

<?php
header("content-type:text/html;charset=utf-8");
$name = "錢難有";
echo "紅軍不怕遠征難"; // 輸出
return; // 中止腳本運行
echo $name; // 不被輸出
?>

運行結果:

紅軍不怕遠征難
代碼示例2:

函數體中:

<?php
header("content-type:text/html;charset=utf-8");
function A(){
    $a = 5; $b = 4; // 定義兩個局部變量
    return $a + $b; // 返回 $a+$b 的值,並結束當前腳本
    echo $a; // $a不在被輸出
}
$sum = A(); // 調用函數 並用變量接收 return 的返回值
echo $sum; // 輸出 $sum
echo "錢難有"; // 輸出 "錢難有"
?>

運行結果:

9

錢難有

小結: 在主腳本中調用 return ,則腳本中止運行。在函數體調用return,如果有返回值則返回,函數里的代碼不在執行。而主腳本的代碼依然會運行。
 
文章轉自:https://blog.csdn.net/zn6074603/article/details/83795925


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM