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