gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/zn6074603/article/details/83795925 。

最后此篇关于PHP终止脚本运行三种实现方法详解的文章就讲到这里了,如果你想了解更多关于PHP终止脚本运行三种实现方法详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com