面试题 / 1 / 2 / 创建于 3年前
如题
传值:不指向同一个内存地址传址:指向同一个内存地址
传值
function func($num){ $num ++; } $data = 1; func($data); echo $data;// 1 // 分析: 将 $data 的值传入到 func 方法,重新开辟一个内存保存 值1 赋值给 $num,和 $data 是两个独立的内存地址,$num 改变不会影响 $data 的值
传址
function func(&$num){ $num ++; } $data = 1; func($data); echo $data;// 2 // 分析:通过 &符,将 $data 的内存地址复制给 $num,$num 和 $data 是一个内存地址,$num 改变,$data 同时改变
传址例2
function func($a, $b, &$status){ $status = $a > $b ? 1 : 0; } func(3, 5, $status); echo $status; // 0
利用传址的应用:博客:不用递归实现无限级分类
哈哈,其实最有用的就是不需要返回值了。
function($params) { return $params; } function(&$params) { // todo something }
我要举报该,理由是:
传值:不指向同一个内存地址
传址:指向同一个内存地址
传值
传址
传址例2
利用传址的应用:博客:不用递归实现无限级分类
哈哈,其实最有用的就是不需要返回值了。