string(8"/>  string(8">

PHP session 的奇怪守则

WBOY
リリース: 2016-06-13 11:10:01
オリジナル
908 人が閲覧しました

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的值回写。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート