Maison >développement back-end >tutoriel php >此处的&符号该怎么理解?
<code> /** * 获取各请求方法PV数 * * @param integer $interval 周期间隔 * @param string $referenceTime 基准时间 * @param array $domains 域名列表 * @param array $paths 路径列表 * @param array $methods 请求方法列表 * @param string $pvCountOrder PV数排序 - 正序:ASC 倒序:DESC * @param integer $offset 结果偏移 * @param integer $limit 结果数量 * @param boolean &$total 结果总数 * @return array PV数列表 */ public function getPvCountForMethods( $interval, $referenceTime, $domains = array(), $paths = array(), $methods = array(), $pvCountOrder = 'DESC', $offset = 0, $limit = -1, &$total = false ) { // 确定请求方法PV日志表 $logTable = $paths</code>
<code> /** * 获取各请求方法PV数 * * @param integer $interval 周期间隔 * @param string $referenceTime 基准时间 * @param array $domains 域名列表 * @param array $paths 路径列表 * @param array $methods 请求方法列表 * @param string $pvCountOrder PV数排序 - 正序:ASC 倒序:DESC * @param integer $offset 结果偏移 * @param integer $limit 结果数量 * @param boolean &$total 结果总数 * @return array PV数列表 */ public function getPvCountForMethods( $interval, $referenceTime, $domains = array(), $paths = array(), $methods = array(), $pvCountOrder = 'DESC', $offset = 0, $limit = -1, &$total = false ) { // 确定请求方法PV日志表 $logTable = $paths</code>
& 表示PHP中对变量的引用。
放到这段代码里的意思就是说$total这个参数内部的指针指向传过来的地方,
PHP 解释器不会在这个函数体内注册新的变量$total,而是直接引用传过来的那个地方的$total变量,
如果函数体内对$total的值进行了修改,那么外面的$total也会随之改变
example:
<code><?php $a = 1; function foo(&$var) { return $var = $var + 10; } echo foo($a);//11 echo $a; //11 ?></code>
简单类型的传递有两种
一种是值传递
一种是引用传递
&就是引用传递
传值还是引用啊,&$total表示把$total的地址传进去
看这个: 这是一个手册
然后,git blame 文件名
, 找到作者,打死。
支持blame 打死, 9个参数 ......
引用传递把,可以看成一个指针,指向同一个内存地址
引用
作用:
<code>修改同一个值,因为内存地址是一样的</code>