请知悉:本文最近一次更新为 10年 前,文中内容可能已经过时。

源码:

<?php
function get_arr($arr){
unset($arr[0]);
}
$arr1=array(1,2);
$arr2=array(1,2);
get_arr(&$arr1);
get_arr($arr2);
echo count($arr1);
echo count($arr2);

输出结果(仅限于5.3之前,之后是会报错无法输出结果的):12

释义:
第一个get_arr()使用到了取引用符&,并且将$arr1传入。这样子,传入了$arr1的引用,在get_arr()内部相当于直接操作了$arr1数组,而该数组删除了数组首位的值,所以长度只有1。

而第二个get_arr()并没有使用引用,当你将$arr2传入时,相当于将$arr2复制了一份传入,get_arr()函数处理的只是$arr2的拷贝,所以他只是删除了$arr2拷贝的首位值,对$arr2本身没有影响


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《PHP-function get_arr($arr){ unset($arr[0]); }输出结果》相关的博文:


留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌