程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php5.4傳引用時報錯問題分析,php5.4引用時報錯

php5.4傳引用時報錯問題分析,php5.4引用時報錯

編輯:關於PHP編程

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及以及版本,測試結果

<?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程序設計有所幫助。

您可能感興趣的文章:

  • 如何把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 啟動報錯如何解決

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved