php5.4传引用时报错问题分析_php技巧
May 16, 2016 pm 07:59 PM本文实例分析了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及以及版本,测试结果
<?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上面测试,只测试传引用
<?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以及递归传引用
<?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错误与异常相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》
希望本文所述对大家PHP程序设计有所帮助。

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Column count doesn't match value count at row 1 - 如何解決MySQL報錯:列數與值不符

Incorrect table definition; there can be only one auto column and it must be defined as a key - 如何解決MySQL報錯:錯誤的表定義;只能有一個自動列,並且必須定義為鍵

Unknown column 'column_name' in 'where clause' - 如何解決MySQL報錯:where子句中的未知列

Unknown database 'database_name' - 如何解決MySQL報錯:未知資料庫名
