Code前端首页关于Code前端联系我们

phpdestructexit的简单介绍

terry 3年前 (2023-09-30) 阅读数 57 #PHP
文章标签 PHP的Explode函数

本文目录一览:

  • 1、小弟刚学PHP,求各位前辈帮忙看个代码问题
  • 2、说一下PHP中die()和exit()区别
  • 3、php中die() exit() return 这3个语句的区别
  • 4、PHP中的exit
  • 5、php中exit和return的区别
  • 6、PHP中的__destruct()析构函数是一个空方法,还是会执行什么功能?

小弟刚学PHP,求各位前辈帮忙看个代码问题

程序结束的时候会销毁变量,下面的代码可以确认不是变量作用域完成,而是结束:

?php

class person {

var $name;

var $sex;

var $age;

function say() {echo '我叫:'.$this-name.' 性别:'.$this-sex.' 我今年'.$this-age.'岁了br';}

function __construct($name="",$sex="女",$age="21") {

$this-name=$name;

$this-sex=$sex;

$this-age=$age;

}

function __destruct() {echo '再见,别忘了,我叫:'.$this-name.'br';}

}

$zzy = new person("章子怡");

echo $zzy-say();

$x="xxx";

echo "$xbr\n";

?

说一下PHP中die()和exit()区别

1、用法习惯不同,当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。

2、名字不同,其实PHP手册已经说过“die — Equivalent to exit().This language construct is equivalent to exit(). ”两者只是别名关系,除此之外完全一样。

3、源码的处理方式不同,无论是别名函数还是别名语言结构,从实际效果角度讲,都是一样的,但是源码的处理方式还是有一定的差异。

扩展资料:

die()和exit()差异实例:

zend_language_parser.c中,定义了一个宏

#define T_EXIT 300

还定义了一个enum,里面也有

enum yytokentype {

T_EXIT = 300,

….

}

这里告诉我们,T_EXIT这个token,它的code是300。

再看zend_language_scanner.l,其中有这么几行代码。

ST_IN_SCRIPTING”exit” {

return T_EXIT;

}

ST_IN_SCRIPTING”die” {

return T_EXIT;

}

很明显,php做词法分析时,无论遇到exit还是die,都会返回T_EXIT这个token。从这里酒可以证明,die和exit,再php内部处理是完全一样的。

也可以用下列php代码来确定:

?php

var_dump(token_get_all(“?php die;exit;?”));

返回的结果中die和exit对应的token code,都是300。

参考资料:

PHP exit() 函数-w3school

PHP die() 函数-w3school

php中die() exit() return 这3个语句的区别

die()停止程序运行,输出内容

exit是停止程序运行,不输出内容

return是返回值

补充 一下,die 是失败 后输出,另外 exit 后面 加个 () 也是可以输出内容的!return 是返回,也有终止程序的作用。php 遇到,return 即不运行 后面代码。但终止有本质区别!

PHP中的exit

exit是一个语言结构, 可以exit; 也可以exit(); 还可以exit('abc');

而它有一个函数别名, 注意它是函数而不是语言结构了, die(); 它必须有括号跟着了, 可以空也可以不空, 但必须有括号因为它是函数不是语言结构了

另外exit并不一定就让程序结束, 因为可以使用register_shutdown_function注册一个或多个exit之后才执行的函数

并且还有对象的析构函数也会在exit之后执行, 所以并不是exit就可以让一切完结

php中exit和return的区别

die()停止程序运行,输出内容

exit是停止程序运行,不输出内容

return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容。return就是纯粹的返回值了,但是也不会运行后续代码

PHP中的__destruct()析构函数是一个空方法,还是会执行什么功能?

同其他语言中的析构函数功能差不多,PHP中析构函数也是执行一些清理工作(如果非要加入其它的一些事情,那就另说了),其实PHP在脚本执行结束后就会销毁一切能够销毁的东西,不会浪费一丁点资源,没有析构的话也没什么关系了。但是,在脚本执行中,我们也会执行一些命令,让某些对象生命结束,如果没有析构,就只能由垃圾收集机制来运行了,这就浪费了一些资源。由此,显式析构的作用就出来了。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门