PHP 3.0 的 Apache 模块不再支持 Apache 1.2 以前的版本。PHP 3.0 需要 Apache 1.2 或更高版本。
echo() 不再支持格式化字符串。如果想格式化字符串,使用 printf() 函数。
在 PHP/FI 2.0 中,$foo[0] 和 $foo 有着同样的效果。而 3.0 则不是这样的。
不再支持使用 $array[] 读取数组。
也就是说,不可以通过作 $data = $array[] 的循环来遍历一个数组。使用 current() 和 next() 函数来代替。
同样的,$array1[] = $array2 并没有把 $array2 的值赋给 $array1,而是把 $array2 这个数组赋给 $array1 的最后一项。这种情况也发生在多维数组上。
"+" 不再重载为字符串串连的运算符,它的作用是把字符串转换为数字并将它们相加。如果想串连字符串,使用 "." 代替。
例子 D-11. 从 2.0 移植:串连字符串
echo "1" + "1";
在 PHP 2.0 中该程序会显示 11,而在 PHP 3.0 中会显示 2。如果要在 PHP 3.0 中达到同样的效果,应该使用:
echo "1"."1";
$a = 1;$b = 1;echo $a + $b;
上面的程序在 PHP 2.0 和 3.0 中都会显示 2。
$a = 1;$b = 1;echo $a.$b;