欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

此处的&符号该怎么理解?

程序员文章站 2022-06-16 11:12:23
...
    /**
     * 获取各请求方法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 参数中的&符号怎么理解?

回复内容:

    /**
     * 获取各请求方法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中对变量的引用。

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

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

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

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

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

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

引用
作用:

修改同一个值,因为内存地址是一样的
相关标签: php