PHP引用的一个问题

WBOY
WBOYasal
2016-06-23 13:37:39962semak imbas

网上看到这么一句话
如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。并且指向NULL

经常用 isset 来判断一个值是否存在,如果直接输出某个不存在的值会报错。

但如果我用引用的方式,是否可以替代isset,是否会印象性能

$id=&$_GET['id']


这样$_GET['id']不存在也不会报错,存在了,就引用给变量 $id


回复讨论(解决方案)

$id =& $_GET['id'];

$id = @$_GET['id'];
对 $id 而言是等效的

但 $id =& $_GET['id']; 后
对 $id 的任何修改都会影响到 $_GET['id'],这样就可能会使程序的其他使用 $_GET['id'] 的部分出问题

如果仅仅是为了回避 Notice 级别错误,大可不必这样做

判别传入参数是否正确是很有必要的,尤其是单入口系统,传入的参数会影响整个工作流程

没有其他不同的看法吗

看来得结贴了

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn