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及以及版本,測試結(jié)果
<?php
function test($aa,&$bb){
if($aa < $bb){
echo $bb."<br>";
$bb--;
test($aa,&$bb);
}
}
$aa = 3;
$bb = 6;
test($aa,&$bb);
?>
運行結(jié)果如下
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及以前版本,輸入結(jié)果是5
//test($aa,&$bb); //php5.3輸入結(jié)果是5,php5.4及以后,報錯Fatal error: Call-time pass-by-reference 。。。。
?>
php5.4以后,定義時可以有&,調(diào)用時加上&就會報錯。這樣調(diào)用感覺很怪。
例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都可以運行,運行結(jié)果:
5
4
3
感覺這個5.3升到5.4有點坑爹,如果不知道改變的,升級就很郁悶了。
更多關(guān)于PHP錯誤與異常相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP錯誤與異常處理方法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
安裝PHP可能遇到的問題“無法載入mysql擴展” 的解決方法
安裝PHP可能遇到的問題“無法載入mysql擴展” 的解決方法...2007-04-04
php安全攻防世界unserialize函數(shù)反序列化示例詳解
這篇文章主要介紹了php的安全防護,關(guān)于攻防世界Web php unserialize正則表達式反序列化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
php解決crontab定時任務(wù)不能寫入文件問題的方法分析
這篇文章主要介紹了php解決crontab定時任務(wù)不能寫入文件問題的方法,結(jié)合實例形式分析了crontab定時任務(wù)無法正常執(zhí)行的原因與解決方法,需要的朋友可以參考下2019-09-09
PHP7創(chuàng)建COOKIE和銷毀COOKIE的實例方法
在本篇文章里小編給大家整理的是關(guān)于PHP7創(chuàng)建COOKIE和銷毀COOKIE的實例方法,有需要的朋友們可以參考下。2020-02-02

