作者:紫陌红尘一笑_423 | 来源:互联网 | 2023-09-24 18:55
本文目录一览:
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在脚本执行结束后就会销毁一切能够销毁的东西,不会浪费一丁点资源,没有析构的话也没什么关系了。但是,在脚本执行中,我们也会执行一些命令,让某些对象生命结束,如果没有析构,就只能由垃圾收集机制来运行了,这就浪费了一些资源。由此,显式析构的作用就出来了。