>  기사  >  php教程  >  php5.4传引用时报错问题分析,php5.4引用时报错

php5.4传引用时报错问题分析,php5.4引用时报错

WBOY
WBOY원래의
2016-06-13 08:47:141394검색

php5.4传引用时报错问题分析,php5.4引用时报错

本文实例分析了php5.4传引用时报错问题。分享给大家供大家参考,具体如下:

php5.3系列版本以及以前版本,传引用没有什么问题,升级到php5.4以后,传引用的地方,全报错

Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6。看一下下面的例子。

例1,递归传引用,在php 5.3及以及版本,测试结果

<&#63;php
function test($aa,&$bb){
  if($aa < $bb){
    echo $bb."<br>";
    $bb--;
    test($aa,&$bb);
  }
}
$aa = 3;
$bb = 6;
test($aa,&$bb);
&#63;>

运行结果如下

6
5
4

php 5.4以后就不行了,我是用php 5.4.11测试的。报Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6

例2,php5.4.11上面测试,只测试传引用

<&#63;php
function test($aa,&$bb){
  if($aa < $bb){
    $bb--;
    echo $bb."<br>";
    //test($aa,&$bb);
  }
}
$aa = 3;
$bb = 6;
test($aa,$bb); //php5.4,php5.3及以前版本,输入结果是5
//test($aa,&$bb); //php5.3输入结果是5,php5.4及以后,报错Fatal error: Call-time pass-by-reference 。。。。
&#63;>

php5.4以后,定义时可以有&,调用时加上&就会报错。这样调用感觉很怪。

例3,php5.4以及递归传引用

<&#63;php
function test($aa,&$bb){
  if($aa < $bb){
    $bb--;
    echo $bb."<br>";
    test($aa,$bb);
  }
}
$aa = 3;
$bb = 6;
test($aa,$bb);
&#63;>

php5.2,php5.3,php5.4都可以运行,运行结果:

5
4
3

感觉这个5.3升到5.4有点坑爹,如果不知道改变的,升级就很郁闷了。

更多关于PHP错误与异常相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • 如何把php5.3版本升级到php5.4或者php5.5
  • php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
  • Windows下编译PHP5.4和xdebug全记录
  • php5.4以下版本json不支持不转义内容中文的解决方法
  • 注意:php5.4删除了session_unregister函数
  • 安装apache2.2.22配置php5.4(具体操作步骤)
  • PHP5.4中json_encode中文转码的变化小结
  • php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
  • 探寻PHP脚本不报错的原因
  • PHP empty函数报错解决办法
  • php 启动时报错的简单解决方法
  • php 启动报错如何解决
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.