xyf90314
效果图看不到啊 自己试了下 没区别啊
- xyf90314 2015-08-03 已签到连续签到1天,获得了5个金钱
- xyf90314 赞了回答
所以...
问题
是啥? &代表取引用,一般用于函数入参,代表在函数内直接引用变量的原始值。如果没有加&,在函数内对入参的修改是不会影响到外面的变量的。比如:
function add($a) { $a += 1; echo $a; } $a = 1; add($a); echo $a; function add2(&$a) { $a += 1; echo $a; } add2($a); echo $a;
foreacch
语句你可以理解为一个特殊的“函数”,$key,$value可以理解为函数的入参,如果你在foreach遍历语句内需要修改原始值,必须得加&代表传引用进来。当然,如果是引用类型(某class的实例)这种,你不加&也可以在函数内修改原始值,比如:
class A { public $b = 1; } function add(A $a) { $a->b += 1; echo $a->b; } $a = new A; add($a); echo $a->b;
那这里的引用和Java的是不是一样的 好像不一样
- xyf90314 2015-07-31 已签到连续签到9天,获得了20个金钱