Maison >développement back-end >tutoriel php >此处的&符号该怎么理解?

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

WBOY
WBOYoriginal
2016-08-04 09:20:31982parcourir

<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 参数中的&符号怎么理解?

回复内容:

<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 参数中的&符号怎么理解?

& 表示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>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:redis疑问?Article suivant:laravel session方法没用哈