zoukankan      html  css  js  c++  java
  • PHP中终止脚本运行有三种方式die()、exit()、return【转】

    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

  • 相关阅读:
    将 SharePoint 2010 网站集升级到 2013 (含沙盒方案)
    几款网络云存储服务的使用对比
    技术发展飞快,一日十年
    项目背景介绍
    初次接触,简单的了解需求
    用色彩区分 SharePoint 2010 Calendar 的日历项
    嘿,我这里有一个 Survey!
    博客页面在 IE 浏览器中样式混乱了(已经更换了样式)
    关于 Graphviz
    搭建使用 RTX51Tiny 的 C51 Keil 项目环境
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/13131428.html
Copyright © 2011-2022 走看看