php关于为何要默认设置register_globals = off的解释

关于问题我在论坛上问过

http://topic.csdn.net/u/20120210/10/1c0e529d-a55b-484f-9d88-1809db1eecab.html

下面直接解释了。

其实很简单

<?php

session_start();
$_SESSION["code"]=1;
$code=2;
$code=5;
print_r($_SESSION["code"]);

?>

这段代码,自己可以运行一下刷新三次输出分别是

第一次输出:1

第一次输出:2

第一次输出:5

即当$_SESSION里面的键跟外面的一个变量名相同的时候,系统就会以为这个$code是$_SESSION的一个引用

换一个方式:

<?

session_start();
$_SESSION["code"]=1;

echo $code;

?>

结果就会出现:1



换做GET也是一样的

这样就好理解了吧,人们会通过url来给php里面的木一个变量赋值的,当全局变量默认为开启的状态的时候

这里有几处引用供大家参考

http://bbs.php100.com/read-htm-tid-17163-page-1.html
http://www.laruence.com/2009/07/13/976.html

你可能感兴趣的:(global)