php - 此处的&符号该怎么理解?
伊谢尔伦
伊谢尔伦 2017-04-11 09:18:36
[PHP讨论组]
    /**
     * 获取各请求方法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

求助:上面的php 参数中的&符号怎么理解?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(7)
天蓬老师

& 表示PHP中对变量的引用。

放到这段代码里的意思就是说$total这个参数内部的指针指向传过来的地方,
PHP 解释器不会在这个函数体内注册新的变量$total,而是直接引用传过来的那个地方的$total变量,
如果函数体内对$total的值进行了修改,那么外面的$total也会随之改变
example:

<?php
$a = 1;

function foo(&$var)
{
    return $var = $var + 10;
}

echo foo($a);//11
echo $a; //11


?>
迷茫

简单类型的传递有两种
一种是值传递
一种是引用传递
&就是引用传递

大家讲道理

传值还是引用啊,&$total表示把$total的地址传进去

天蓬老师

看这个: 这是一个手册
然后,git blame 文件名, 找到作者,打死。

大家讲道理

支持blame 打死, 9个参数 ......

黄舟

引用传递把,可以看成一个指针,指向同一个内存地址

ringa_lee

引用
作用:

修改同一个值,因为内存地址是一样的
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号