PHP4与PHP5的一些差别

来源:互联网 发布:软件编程程序培训机构 编辑:程序博客网 时间:2024/05/22 04:21

 

今天做的一个小项目,由于服务器是混合的,(因为公司做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,是创建了

        另外一个实例的指针,会同时被修改。