在PHP 中引用的意思是:不一样的名字访问同一个变量内容. 与C语言中的指针是有差异的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 PHP 的引用容许你用两个变量来指向同一个内容php
今天只说变量的引用指针
<? $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 因此输出EFG echo $b;//这里输出EFG ?> 上面的这个代码,很简单。 开辟了一个空间,里面放了“ABC”,而后用变量$a指引 变量$b的引用也指引到$a引用的空间地址 而后,修改了其中一个,两个都发生了变化,由于两个变量的引用地址都是同样的。
如今咱们能够来讨论一个很尿性的问题了code
<?php $arr = array(1,2,3,4); foreach($arr as &$v) { echo $v; } echo PHP_EOL; foreach($arr as $v) { echo $v; } ?> 你们能够猜猜最后的输出结果 答案是:1234 1233 为何是这个答案呢? 由于在第一次foreach输出的时候,咱们使用的引用符,使$v的空间地址和$arr的最后一个输出,$arr[4]连在一块儿了 $v=$arr[4]这个意思 而后咱们第二次foreach的时候,咱们在输出变量的同时,每次都在修改$arr[4]的值 而后咱们就获得了这个奇葩的答案了。