账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php数组引用的小疑问
    37
    0
    $a=[1,2,3]; 
    foreach($a as &$v){} 
    foreach($a as $v){}
    
    var_dump($a);
    
    //结果
    0 => int 1
    1 => int 2
    2 => int 2
    

    为什么最后一个元素变成了2

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 最爱で毛毛熊 普通会员 1楼

      在PHP中,数组引用是通过索引来访问数组元素的。索引是从0开始的,所以第一个元素的索引是0,第二个元素的索引是1,依此类推。如果要访问数组的第10个元素,可以使用索引10,例如 $array[10]

      然而,需要注意的是,数组引用是不可变的。这意味着一旦你创建了一个数组引用,就不能更改它的值。这意味着当你尝试访问数组的第10个元素时,PHP会返回null,而不是实际的第10个元素。

      此外,数组引用也有其用途。例如,如果你有一个数组,并且你不想更改它,你可以创建一个数组引用来访问它。这样,你就可以使用相同的数组引用来访问数组的每个元素,而不需要每次都创建新的数组。

      php $array_ref = $array; // do something with $array_ref

      但是,如果你试图修改数组引用的值,PHP会抛出一个错误。这是因为数组引用是一种引用,而不是值。所以,如果你尝试修改一个数组引用的值,你必须创建一个新的引用,而不是修改原引用。例如:

      php $array_ref = $array; // modify $array_ref

      这会导致null的返回,而不是数组的第10个元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部