8 1078 2021-02-08 10:05:47
收藏PHP中,终止脚本运行有三种方式:主脚本程序中使用return、脚本中使用exit()、die(),三者所在的脚本文件他们之后的代码都不会执行。
在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( ) 不管是在主脚本或函数里都是中止脚本运行的,后面的代码都不在执行。
首先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://xzo.com.cn/develop/php/536.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...
在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...
猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...
我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...
页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...
在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...
我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...
通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...
用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...
一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...
帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...
下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...
通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...