PHP摘引的妙用
程序员文章站
2024-01-31 22:36:04
...
PHP引用的妙用
在:http://bardo.iteye.com/admin/blogs/848136?一文中我已详细讲了什么是引用。这里给大家讲一讲引用的妙用。
1、引用传参,这有两个作用,其一,使得外部变量与函数中变量同步更改。其二,实现无return却能返回多个参数。
2、对于大的数据结构,减少复制,从而减小内存消耗。
这是常用的用途。引用实际上,还有一些奇妙的用途不为人所知。目前刚发现了一个:
?
假如一个文件中有代码,如果我们在SHELL状态下使用:
$host=$_SERVER['HTTP_HOST'];
日志中就会出现notice信息。当然,你关闭了,并不代表它不产生。但为了能使网页与SHELL均能使用,我们还是要这样:
其一:
使用 error_reporting(245)将其关闭。
第二,直接阻止其出现:
$host=@$_SERVER['HTTP_HOST'];
第三、使用三元运算符。
$host=(isset($_SERVER['HTTP_HOST']))?$_SERVER['HTTP_HOST']:'';
?
但这均是常见的方法。
实际上,我们还有一种,让它不会出现notice信息的方法:
?
$host=& $_SERVER['HTTP_HOST'];
?
这样,我们就保证了,传参时绝不使用 isset, 或 @
?
只有在变量真正使用时,我们才用isset。这不仅是减少代码字符数,同时也是加快运行效率的手段。
?
好了,现在你不妨试一下,下面的代码,是否是这样运行的。
?
error_reporting(E_ALL); $ar=array(); $b=& $ar['test'] ; //你可以把前面的方法在这一行都试一下 $c='23' . $b .'31'; echo($c);
?
?当然,使用引用,最大的注意事项是,你要保证在使用中不能改变它。否则,引起原变量同步变更,你必须要是事先预知的。
?
所以,如果不能预知, 还是使用 @
?
- 最新文章
- 热门排行
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论专题推荐
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习