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

yipeiwu_com6年前PHP代码库
昨天把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() 函数. 取得变长参数

相关文章

PHP Warning: Module 'modulename' already loaded in问题解决办法

出现标题这样的错误大概是: 1、模块加载了两次,所以php -i|grep Configure,看一下配置文件和配置include的目录,对于这些文件中是否有同名的module 2、动态...

10条php编程小技巧

1、写程序的时候会用到这种情况,比如对一个数字进行四舍五入取整。很多人会这样写: 复制代码 代码如下: input a if a - int(a) >= 0.5 then a =&...

php 采集书并合成txt格式的实现代码

<?php /** * @name 采集书.php * @date Sun Mar 01 22:48:02 CST 2009 * @copyright 马永占(MyZ) * @au...

解析php获取字符串的编码格式的方法(函数)

如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:$encode = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2...

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们。 shell_exec() shell_exec() 命令...