PHP终止脚本运行三种实现方法详解


Posted in PHP onSeptember 01, 2020

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,如果有返回值则返回,函数里的代码不在执行。而主脚本的代码依然会运行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
基于文本的留言簿
Oct 09 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
php header示例代码(推荐)
Sep 08 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
PHPUnit安装及使用示例
Oct 29 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
浅析PHP7的多进程及实例源码
Apr 14 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 PHP
PHP日期和时间函数的使用示例详解
Aug 06 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 #PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 #PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 #PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 #PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 #PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 #PHP
PHP常用header头定义代码示例汇总
Aug 29 #PHP
You might like
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
javascript快速排序算法详解
2014/09/17 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
Python中删除文件的程序代码
2011/03/13 Python
Python struct模块解析
2014/06/12 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
美国零售商店:Blue&Cream
2017/04/07 全球购物
IRO美国官网:法国服装品牌
2018/03/06 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
工程部岗位职责范本
2015/04/11 职场文书
同事去世追悼词
2015/06/23 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS