zoukankan      html  css  js  c++  java
  • PHP die与exit的区别

    最近听见有人说die和exit区别,bula~bula。决心一探究竟。

    翻了翻PHP 5.6的源码(源码的位置为zend目录下zend_language_scanner.l大约是1014~1020行)

    1 <ST_IN_SCRIPTING>"exit" {
    2     return T_EXIT;
    3 }
    4 
    5 <ST_IN_SCRIPTING>"die" {
    6     return T_EXIT;
    7 }

    由源码可以看得出来,zend引擎在解析die和exit都解析成了T_EXIT,另外插一句die和exit都不是函数,都只是语义结构。

    所以二者的实现,完全相同。

    为什么要开放两个实现一样函数呢?

    存在即是合理。

    原因是:二者虽然在实现相同,但是具有不同的名字,这就意味着,在平常的编程中,可以使我们的语义化更强。

    代码1:

    <?php 
      $pdo = new PDO("mysql:host=localhost;dbname=db_demo","root","") or die('error') ; 

    代码2:

    <?php
        function getData(){
          return [];        
        }
        $data = getData();
        if(empty($data)){
          exit('data is null!');                      
        }

    从以上两个代码片段来总结:

    die主要用于不可预测的、意外的程序终止(非主观)。

    exit主要用于想要程序终止(主观)。

  • 相关阅读:
    SQL优化,解决系统运行效率瓶颈
    C#中 哪些是值类型 哪些是引用类型
    C#异常类相关总结
    对象 序列化 字节流 传输
    给数组中的每个元素赋值
    对象转化为 xml字符串
    .NET BETWEEN方法
    Datatable To List<Entity>
    ajax原理
    gulp记录
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/7230306.html
Copyright © 2011-2022 走看看