当前位置:  开发笔记 > 编程语言 > 正文

Php函数参数错误抑制,empty()isset()仿真

如何解决《Php函数参数错误抑制,empty()isset()仿真》经验,为你挑选了2个好方法。

我很确定这个问题的答案是否定的,但是如果有一些PHP大师的话

是否有可能以一种方式编写一个函数,其中可以传入无效参数或不存在的变量,并且php不会在不使用 '@'

很像空和isset.您可以传入刚刚编写的变量,也不会出错.

ex:

empty($someBogusVar); // no error

myHappyFunction($someBogusVar); // Php warning / notice

Kornel.. 10

通过引用传递变量时,您不会收到任何错误(PHP将以静默方式创建新变量):

 function myHappyFunction(&$var)
 {       
 }

但我建议不要滥用它来隐藏编程错误.



1> Kornel..:

通过引用传递变量时,您不会收到任何错误(PHP将以静默方式创建新变量):

 function myHappyFunction(&$var)
 {       
 }

但我建议不要滥用它来隐藏编程错误.



2> Vinko Vrsalo..:

总结一下,正确答案是否定的,你不应该(见下面的警告).

许多人已经在这个线程中提到过变通方法,比如在条件中使用引用变量或isset()或empty()以及在PHP配置中抑制通知.除了明显的解决方法,使用@,你不需要.

总结一个与Gerry有趣的评论讨论:如果检查函数内部变量的值并正确处理undefined或null情况,则通过引用传递变量确实有效.只是不要使用引用传递作为关闭PHP的方式(这是我原来不应该指向的地方).

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有