php session变量的赋值模式
现有如下PHP代码:session_start();$p=10;$_SESSION['s1']=$p;$p=11;echo$_SESSION['s1'];为什么输出的是1...
现有如下PHP代码:
session_start();
$p = 10;
$_SESSION['s1'] = $p;
$p = 11;
echo $_SESSION['s1'];
为什么输出的是11啊,用var_dump查看session是引用类型的。
请问怎样让($_SESSION['s1'] = $p;)成为值传递?谢谢!
我是说为什么语句$_SESSION['s1'] = $p; 会引用传递。
说明:在php5.3.5中是引用传递(上面的代码输出为11);
在php5.2.1中是值传递(上面的代码输出为10)
请问怎样统一上面的两种情况?谢谢 展开
session_start();
$p = 10;
$_SESSION['s1'] = $p;
$p = 11;
echo $_SESSION['s1'];
为什么输出的是11啊,用var_dump查看session是引用类型的。
请问怎样让($_SESSION['s1'] = $p;)成为值传递?谢谢!
我是说为什么语句$_SESSION['s1'] = $p; 会引用传递。
说明:在php5.3.5中是引用传递(上面的代码输出为11);
在php5.2.1中是值传递(上面的代码输出为10)
请问怎样统一上面的两种情况?谢谢 展开
3个回答
展开全部
因为$ps是一个变量
$_SESSION是全局变量
所以理应取$p的最终值
$_SESSION是引用变量
但是你可以把它赋值给一个自定义变量
例如$a = $_SESSION['s1']
这样就可以进行传值了
///////////
把它作为引用传递是Php语法问题吧
这个不是我们能决定的
目前这方面的讨论很少
而且没什么必要吧
它只是一种会话机制
去实现COOKIE实现不了的功能
$_SESSION是全局变量
所以理应取$p的最终值
$_SESSION是引用变量
但是你可以把它赋值给一个自定义变量
例如$a = $_SESSION['s1']
这样就可以进行传值了
///////////
把它作为引用传递是Php语法问题吧
这个不是我们能决定的
目前这方面的讨论很少
而且没什么必要吧
它只是一种会话机制
去实现COOKIE实现不了的功能
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-12 · 知道合伙人软件行家
emeipanda
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:329
获赞数:1494
曾获联想、华为、Juniper认证,现任职于四川省内江市GPS卫星监控中心总工程师,主持技术管理工作逾10年。
向TA提问 私信TA
关注
展开全部
session_start();
$p = 10;
$_SESSION['s1'] = $p;
$p = 11;
echo $_SESSION['s1'];
输出结果为11
$p = 10;
$_SESSION['s1'] = $p;
$p = 11;
echo $_SESSION['s1'];
输出结果为11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询