最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • PHP中exit()与die()的区别

    本篇文章简要分析一下在php中经常用到的exit和die的区别,有需要的朋友可以看一下。

    首先思考一个问题:

    如下代码会向页面显示什么?

    <?php
    die(123);
    ?>

    曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白!

    一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码:

    <?php
    echo '123';
    die();
    ?>

    网上的一段资料:

    PHP中exit()与die()的区别

    PHP手册:die()Equivalent to exit()。

    说明:die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。

    参考:虽然两者相同,但通常使用中也有细微的选择性。例如:

    当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个函数。

    echo "1111";
    exit(0);
    echo "2222";  // 22222不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。

    当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。

    $fp=fopen("./readme.txt","r") or die("不能打开该文件");
    // 这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印
    // 传递给它的字符串,“死前还能说一两句话”。

    回到前面这个话题,下面代码为什么不输出 123 到页面?

    <?php
    die(123);
    // 或 exit(123);
    ?>

    自己总结:

    1、功能上,die() 就等同于 exit();

    2、PHP有多种运行方式,即可网站形式,也可脚本形式(不需要Web服务器)。

    当PHP为脚本形式运行时,建议用exit():

    比如说 Bash Shell脚本语言,当它要停止运行时,会用 exit()函数终止脚本,并允许输出点内容到运行环境(一般是存储到一个全局变量中),但输出的内容只能是 数字,表示“命令的结束状态”。

    也就是说,exit(123)只是输出一种运行状态123,而不是真的要向控制台输出 123。如果要向控制台输出123,代码得改成如下形式:

    <?php
    exit('123');
    ?>

    当PHP为网站形式运行时,建议用die():

    但此时 die(数字),就没啥意义,因为它不会向页面输出 数字 字符串,也就是说,如果想让页面终止并且输出数字的话,得改成如下形式

    <?php
    die('123');
    ?>
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » PHP中exit()与die()的区别
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情