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

PHP
PHP+MySQL5.0中文乱码解决方法
PHP配置心得包含MYSQL5乱码解决
解决phpmyadmin 乱码,支持gb2312和utf-8
PHP中的类-什么叫类
图解MYSQL的安装和数据升级
索引的优点和缺点
php5 and xml示例
如何使用脚本模仿登陆过程
header()函数使用说明
文件系统基本操作类
PHP中的日期及时间
PHP常用代码
怎么样可以把 phpinfo()屏蔽掉?
PHP文本操作类
PHP静态类
用PHP查询域名状态whois的类
php获得文件扩展名三法
几个学习PHP的网址
目录,文件操作详谈—PHP
用PHP实现将GB编码转换为UTF8

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 156 ::
收藏到网摘: 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() 函数. 取得变长参数