【问题标题】:What does "&" mean in '&$var' in PHP? [duplicate]PHP中'&$var'中的“&”是什么意思? [复制]
【发布时间】:2015-04-20 16:43:24
【问题描述】:

“&”PHP中的'&$var'是什么意思?有人可以帮助我进一步解释这一点。提前谢谢你。

【问题讨论】:

    标签: php conditional


    【解决方案1】:

    表示通过reference传递变量,而不是传递变量的值。这意味着当程序流返回调用代码时,对 preparse_tags 函数中该参数的任何更改都会保留。

    function passByReference(&$test) {
        $test = "Changed!";
    }
    
    function passByValue($test) {
        $test = "a change here will not affect the original variable";
    }
    
    $test = 'Unchanged';
    echo $test . PHP_EOL;
    
    passByValue($test);
    echo $test . PHP_EOL;
    
    passByReference($test);
    echo $test . PHP_EOL;
    

    输出:

    Unchanged
    
    Unchanged
    
    Changed!
    

    【讨论】:

      【解决方案2】:

      您可以通过引用将变量传递给函数。该函数将能够修改原始变量。

      你可以在函数定义中通过&

      引用来定义段落

      例如..

      <?php
      function changeValue(&$var)
      {
          $var++;
      }
      
      $result=5;
      changeValue($result);
      
      echo $result; // $result is 6 here
      ?>
      

      默认情况下,函数参数是按值传递的(因此,如果函数内的参数值发生变化,它不会在函数外发生变化)。要允许函数修改其参数,它们必须通过引用传递。

      要让函数的参数始终通过引用传递,请在前面加上 函数定义中参数名称的与号 (&)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-18
        • 2011-05-17
        • 1970-01-01
        • 2011-05-31
        • 2011-05-29
        • 2011-01-17
        相关资源
        最近更新 更多