PHP4與PHP5的一些差別


 

今天做的一個小項目,由於服務器是混合的,(因為公司做PHP開發,已經有很多年了),有PHP4和PHP5的服務器,於是所有的代碼

 

需要進行兼容,於是問題就來了,碰到了很多小問題,因為在PHP5版本中使用很流暢的服務器,在PHP4中出現了異常。尤其是對於數組的

 

一些函數。

 

比如:

 

(1)uasort,這個函數,在PHP4中也存在,可惜使用時候,總是提示錯誤:PHP4 Warning: uasort() [function.uasort]: Invalid comparison function,也找到了一些說明。最后放棄了使用該函數。通過原始的賦值語句解決的。

$newArray[$value['id']] = array("title"=>$value['title'],"time"=>$value['time']);    //最直接的方式是直接添加

 

(2)array_slice,這個函數。在PHP4中也存在,可惜

5.0.2 The optional preserve_keys parameter was added. 

在截取原來的數組的時候,key值會被默認替換為0,1,2...

於是通過

 

注意這里的$i,需要放到foreach外面。

 

 

PHP4和PHP5的OO編程,也有不少差異,常見的問題主要是:

(1)在PHP4中沒有默認的__construct函數,需要我們創建一個和類名完全一樣的函數。

(2)不能使用private,對變量進行修飾,要像js一樣的,使用var關鍵字進行修飾,

(3)function不能使用public限制范圍。

(4)在php4中,對一個實例,進行了深度復制,你修改這個變量,另外一個不會變化,而在PHP5,是創建了

        另外一個實例的指針,會同時被修改。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com