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

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

WBOY
WBOYOriginal
2016-06-13 08:47:141394browse

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 启动报错如何解决
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn