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

2025-05-29 0 59

本文实例分析了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及以及版本,测试结果

?

1

2

3

4

5

6

7

8

9

10

11

12
<?php

function test($aa,&$bb){

if($aa < $bb){

echo $bb."<br>";

$bb--;

test($aa,&$bb);

}

}

$aa = 3;

$bb = 6;

test($aa,&$bb);

?>

运行结果如下

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上面测试,只测试传引用

?

1

2

3

4

5

6

7

8

9

10

11

12

13
<?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 。。。。

?>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12
<?php

function test($aa,&$bb){

if($aa < $bb){

$bb--;

echo $bb."<br>";

test($aa,$bb);

}

}

$aa = 3;

$bb = 6;

test($aa,$bb);

?>

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

5
4
3

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php5.4传引用时报错问题分析 https://www.kuaiidc.com/99947.html

相关文章

发表评论
暂无评论