当前位置: 首页 > 图文教程 > 网络编程 > PHP > 不错的PHP学习之php4与php5之间会穿梭一点点感悟

PHP
PHP6 安装方法
PHP中的ob_start用法详解
学习php遇到的主要问题及解决办法
PHP知识:正则表达式中特殊字符的说明
PHP系列教程:《PHP设计模式介绍》 导言
PHP系列教程:设计模式介绍Ⅰ编程惯用法
PHP系列教程:设计模式介绍Ⅱ值对象模式
PHP系列教程:设计模式介绍Ⅲ工厂模式
PHP系列教程:设计模式介绍Ⅳ单件模式
PHP系列教程:设计模式介绍Ⅴ注册模式
PHP系列教程:设计模式介绍Ⅵ伪对象模式
PHP系列教程:设计模式介绍Ⅶ策略模式
PHP系列教程:设计模式介绍Ⅷ迭代器模式
PHP系列教程:设计模式介绍Ⅸ观测模式
PHP系列教程:设计模式介绍Ⅸ规范模式
PHP教程:自动适应范围的页码分页程序
SQL函数:CONCAT_WS和LENGTH
PHP:招PHP高级工程师的面试题
美化/etc/my.cnf文件
PHP注释查看器

不错的PHP学习之php4与php5之间会穿梭一点点感悟


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 69 ::
收藏到网摘: n/a

昨天把php空间开通了,服务器安装的是php4版本,接近二十天来开始用php写东西,自己搭建的平台都是php5,当然在写的时候还是十分小心,因为几乎每一段代码的要点都是先查了参考然后写出来的,那就么可以看到参考里那些是php4支持那些是php5中才新增的。结果上传上去之后,才发现不得不修改!!

1.修改字符串中的类方法调用,字符串我在php5中写成如下:
$htmlstr=<<<HTML
<a href="user.php?u={$dataobj->getuserinfo('name')}">用户信息</a>
HTML;
最后PHP4我不得不改成:
$user=$dataobj->getuserinfo('name');
$htmlstr=<<<HTML
<a href="user.php?u={$user}">用户信息</a>
HTML;
2、类方法调用反回对像问题,我在php5中这样写的:
$user=$dataobj->readrecord()->d_user;
而最后在PHP4中我不得不改为
$row=$dataobj->readrecord();
$user=$row->d_user;
本来我想加上()写成:
$user=($dataobj->readrecord())->d_user;
让先反回对像,然后在对像上调用属性,然后丢掉对像。可是事实证明php4对对像没有这种支持能力!!
3、函数的默认参数,我在php5中是这样写的:
function set($a,$b=3){
echo $b;
}
调用写的是set(4);
而在php4中,无法取得$b的默认值,查看到参考可以用 使用 func_num_args(),func_get_arg(),和 func_get_args() 函数. 取得变长参数