php5 值赋值与引用赋值
sshong 发表于2009年12月12日 21:26:00 更新于2009年12月12日 21:26:00
参看下述代码:
<?php
$arr = array();
$tmp = array();
$arr["tmp"] = $tmp;
$tmp["MID"] =1;
echo $arr["tmp"]["MID"];
?>
居然报错,不存在叫“MID”的index:Undefined index: MID。

原来php中除了new出来的某class对象默认生成一个引用(即所有object对象默认情况下都是一个引用,需要显示调用clone关键字克隆一个对象),而所有其他类型数据传递时均采用值赋值,如果要引用赋值,必须加入引用符&。

本例中array类型默认也是按照值赋值(自动拷贝一份),如果要采用引用赋值的话,需将上述代码改为:
<?php
$arr = array();
$tmp = array();
$arr["tmp"] = &$tmp;
$tmp["MID"] =1;
echo $arr["tmp"]["MID"];
?>
标签:PHP引用分类:PHP阅读:3013
评论
sshong2009年12月16日 10:09 回复
^_*
helen li2009年12月15日 13:05
dd,看来你的blog很受欢迎啊~
helen li2009年12月15日 13:05
dd,看来你的blog很受欢迎啊~
添加评论
您的大名,限长10汉字,20英文(*)
电子信箱(*)
您的网站
正文,限长500汉字,1000英文(*)
验证码(*) 单击刷新验证码
联系我
博客订阅