为了账号安全,请及时绑定邮箱和手机立即绑定

数组中不能放变量吗

<?php
$num=0;
$arr=array();
$arr[0]=$num;
$num=1;
echo $arr[0];//怎么不是1
?>


正在回答

4 回答

<?php
/**
 * User: Kitetop
 * Date: 2018/5/8
 * Time: 15:53
 */
$num=0;
$arr=array();
$arr[0]=&$num;
$num=1;
echo $arr[0];//输出为1
?>
其实说到底这个还是在赋值的时候传递的是值还是地址的问题,你直接使用值传递,$arr[0]与$num是两个独
立的存储地址,只修改其中一个存储地址对另外一个当然没有关系,而如果你使用&$num的时候,$arr[0]还是指向
$num里面的变量的,你对$num修改$arr[0]的值也会跟着变化,相反也是一样的。


0 回复 有任何疑惑可以回复我~

你这个是值传递和引用传递的问题,只有引用传递才会改变变量的值,数组下标0的值才会改变

0 回复 有任何疑惑可以回复我~

要重新赋值 

0 回复 有任何疑惑可以回复我~

<?php$num=0;$arr=array();$arr[0]=&$num;$num=1;echo $arr[0];//这就是1了?>

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组中不能放变量吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信