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

 更新时间:2020-09-24 15:02:22   作者:佚名   我要评论(0)

PHP中,终止脚本运行有三种方式:主脚本程序中使用return、脚本中使用exit()、die(),三者所在的脚本文件他们之后的代码都不会执行。
1.die( ) 和 exit( )
在PHP中,

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提高脚本性能的4个技巧
  • PHP终止脚本执行的实例代码
  • PHP实现文件上传后台处理脚本
  • phpstudy后门rce批量利用脚本的实现
  • 实例说明js脚本语言和php脚本语言的区别
  • phpredis执行LUA脚本示例代码
  • 使用phpstorm对docker中的脚本进行debug的方法
  • php-fpm服务启动脚本的方法
  • PHP调用ffmpeg对视频截图并拼接脚本

相关文章

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

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

    PHP中,终止脚本运行有三种方式:主脚本程序中使用return、脚本中使用exit()、die(),三者所在的脚本文件他们之后的代码都不会执行。 1.die( ) 和 exit( ) 在PHP中,
    2020-09-24
  • PHP实现简单日历类编写

    PHP实现简单日历类编写

    用PHP实现日历类的编写,供大家参考,具体内容如下 calendar.class.php <&#63;php /* * 创建一个日历类 * * */ //修改默认时区 date_default_timezone_set("PRC
    2020-09-24
  • 如何在PHP中读写文件

    如何在PHP中读写文件

    在PHP中读写文件,可以用到一下内置函数: 1.fopen(创建文件和打开文件) 语法: fopen(filename,mode) filename,规定要打开的文件。mode,打开文件的模式,可
    2020-09-24
  • PHP超全局变量实现原理及代码解析

    PHP超全局变量实现原理及代码解析

    超全局变量在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。 PHP 超全局变量 PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部
    2020-09-24
  • PHP isset()及empty()用法区别详解

    PHP isset()及empty()用法区别详解

    PHP isset函数作用 isset函数是检测变量是否设置。 格式:bool isset( mixed var [, mixed var [, ...]] ) 返回值: 若变量不存在则返回FALSE 若变量存在且其值为NU
    2020-09-24
  • php实现图片压缩处理

    php实现图片压缩处理

    本文实例为大家分享了php实现图片压缩处理的具体代码,供大家参考,具体内容如下 说明 在项目中,经常会遇到在前端页面展示用户自己上传的图片。当部分图片尺寸过大
    2020-09-24
  • PHP copy函数使用案例代码解析

    PHP copy函数使用案例代码解析

    copy—拷贝文件 说明 copy(string$source,string$dest[,resource$context] ) :bool 将文件从source拷贝到dest。 如果要移动文件的话,请使用rename()函数。 参数 so
    2020-09-24
  • PHP常用header头定义代码示例汇总

    PHP常用header头定义代码示例汇总

    在php的开发中,我们常常需要使用到header函数头来进行做标记 header() 函数向客户端发送原始的 HTTP 报头。 常用header设置列表如下: header('HTTP/1.1 200 OK')
    2020-09-24
  • PHP获取类私有属性的3种方法

    PHP获取类私有属性的3种方法

    今天在推上看到一条获取PHP类私有属性的推文,感觉很有意思: 顺着推文联想,还有其他方式吗?经过自己的测试及网上答案,总结出三种方法: 1. 反射 反射可以获
    2020-09-24
  • PHP 实现base64编码文件上传出现问题详解

    PHP 实现base64编码文件上传出现问题详解

    一、场景 领导:小A同学,我们要做一个样本上传进行分析的功能,你看下是否使用base64编码加进去,这样客户端的同学就不需要用form-data方式来上传了,直接使用json
    2020-09-24

最新评论