“=&”用法的真实例子

这个问题在这里已经有了答案:

  • PHP中的“=&”和“&=”运算符是什么意思? 2个答案

  • 这是一个非常简单的例子。 您将$var1的引用分配给$var2 ,因此当您更改$var2$var1值会发生更改。

    <?php
    $var1 = 10;
    $var2 = 20;
    $var2 = &$var1;
    $var2 = 200;
    echo $var1; // 200;
    

    假设一些用户定义的函数处理一个字符串:

    function test($string){
        $string.='bar';
        return $string;
    }
    

    在这种情况下,您必须将函数的返回值归还给变量:

    $foo='foo';
    $foo=test($foo);
    

    通过引用传递变量可以消除一些代码:

    function test(&$string){
        $string.='bar';
    }
    
    $foo='foo';
    test($foo);
    

    就像,例如,本机settype作品。 在手册中查看&符号。


    真正有用的例子是修改树形结构:

    假设你有一个类似'abc'和数组的树形路径:

    array(
        'a' => array(
            'b' => array(
                'c' => array(),
            ),
        ),
    )
    

    你需要在最深的元素中插入一个新的值。 你可能会得到类似的东西(未经测试,仅用于演示目的):

    $parts = explode('.', $path);
    $node = &$tree;
    foreach ($parts as $part) {
        if (isset($node[$part])) {
            $node = &$node[$part];
        } else {
            $node = null;
            break;
        }
    }
    
    if (!is_null($node)) {
        $node[] = 'new value';
    }
    
    链接地址: http://www.djcxy.com/p/57589.html

    上一篇: Real example of "=&" usage

    下一篇: PHP equals and operators