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

本文探讨了PHP中$_SESSION与全局变量的冲突现象,并提供了清晰的实例演示和解析,帮助开发者理解并解决相关问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于问题我在论坛上问过

http://topic.youkuaiyun.com/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值