PHP 手册
后退 | 附录 D. 从 PHP/FI 2 移植到 PHP 3 | 前进

# 其它不兼容

- 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;`

面的程序在 PHP 3.0 中会显示 11。

后退 | 起点 | 前进
函数 `TRUE`/`FALSE` 返回值 | 上一级 | PHP 的调试