数组中不能放变量吗

来源:1-10 PHP数组之foreach循环访问关联数组里的值

面包果

2018-05-04 15:52

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


写回答 关注

4回答

  • Kitetop
    2018-05-08 16:39:00
    已采纳
    <?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]的值也会跟着变化,相反也是一样的。


  • 记住你的梦想
    2018-10-07 16:00:02

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

  • 牛花花
    2018-05-04 16:56:24

    要重新赋值 

  • 放飞灬
    2018-05-04 16:26:21

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

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题