代码:<?php
$myNum=100;
function  addresschange($number)
{
  $number=$number+1;
  echo $number."<br>";
}

addresschange(&$myNum);
echo $myNum;
?>
提示信息:
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of addresschange(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in E:\masterphp\addresschange.php on line 9
101
101
这几句提示信息是什么意思啊?

解决方案 »

  1.   

    如果 php.ini 中
    allow_call_time_pass_reference = off那么在运行时刻传递“引用”将出现警告
    你可以修改 php.ini 令
    allow_call_time_pass_reference = on也可以修改代码成这样:
    $myNum=100;
    function addresschange(&$number)
    {
    $number=$number+1;
    echo $number."<br>";
    }addresschange($myNum);
    echo $myNum;
      

  2.   

    不推荐运行时引用;如果你想通过参数的引用传递,修改addresschange()函数的声明。  
    如果你想使用运行时引用传递参数,你可以设置php.ini中的allow_call_time_pass_reference为true;可以声明成 
    addresschange(& $number)
      

  3.   

    引用传递
    可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。语法如下: 
    <?php
    function foo(&$var)
    {
        $var++;
    }$a=5;
    foo($a);
    // $a is 6 here
    ?>  
    注意在函数调用时没有引用符号――只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了。在最近版本的 PHP 中如果把 & 用在 foo(&$a); 中会得到一条警告说“Call-time pass-by-reference”已经过时了。 
      

  4.   

    反了在函数定义时,可以在引用传递的参数前加&,函数调用时不用写&