string(8"/>  string(8">

Maison  >  Article  >  développement back-end  >  PHP session 的奇怪守则

PHP session 的奇怪守则

WBOY
WBOYoriginal
2016-06-13 11:10:01849parcourir

PHP session 的奇怪规则

<br />	session_start();<br />	var_dump($_SESSION);<br />	$name = 'laruence';<br />	$_SESSION['name'] = null;<br />

输出: array(1) { ["name"]=> string(8) "laruence" }

$name 和 $_SESSION['name']是八竿子打不着的两个变量, 它凭什么给弄成等同于同一个变量, 发明PHP那人脑残吧. 


------解决方案--------------------
引用:
引用:PHP code?12345

输出:
array(1) { ["name"]=> NULL }


是你自己把register_glob……


是我错了,这个问题与register_global无关。不过我的5.4版本就没有这个问题,5.4也已经没有register_global这个选项了。你这代码貌似引用自laruence的博客:http://www.laruence.com/2009/07/13/976.html

他在里面已经解释了原因。在session.bug_compat_42开启的情况下, PHP会认为变量name是$_SESSION['name']的一个引用, 在session_close的时候, 会把变量a的值回写。
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:mysql查询字段中路径有关问题Article suivant:批改密码PHP