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 相关文章推荐
php中的时间处理
Oct 09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
wordpress之wp-settings.php
Aug 17 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
destoon常用的安全设置概述
Jun 21 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 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
php批量删除数据
2007/01/18 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
Three.js基础部分学习
2017/01/08 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
python查看数据类型的方法
2019/10/12 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
python安装sklearn模块的方法详解
2020/11/28 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
恐龙的灭绝教学反思
2014/02/12 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
python识别围棋定位棋盘位置
2021/07/26 Python
Python Django项目和应用的创建详解
2021/11/27 Python