PHP Manual
Prev | Appendix A. Migrating from PHP/FI 2.0 to PHP 3.0 | Next

# Other incompatibilities

- The PHP 3.0 Apache module no longer supports Apache versions prior to 1.2. Apache 1.2 or later is required.

- echo() no longer supports a format string. Use the printf() function instead.

- In PHP/FI 2.0, an implementation side-effect caused `$foo[0]` to have the same effect as `$foo`. This is not true for PHP 3.0.

- Reading arrays with `$array[]` is no longer supported

  That is, you cannot traverse an array by having a loop that does `$data = $array[]`. Use current() and next() instead.

  Also, `$array1[] = $array2` does not append the values of `$array2` to `$array1`, but appends `$array2` as the last entry of `$array1`. See also multidimensional array support.

- `"+"` is no longer overloaded as a concatenation operator for strings, instead it converts it's arguments to numbers and performs numeric addition. Use `"."` instead.

Example A-11. Migration from 2.0: concatenation for strings
      1
      2 echo "1" + "1";
      3
In PHP 2.0 this would echo 11, in PHP 3.0 it would echo 2. Instead use:
      1
      2 echo "1"."1";
      3
      1
      2 $a = 1;
      3 $b = 1;
      4 echo $a + $b;
      5
This would echo 2 in both PHP 2.0 and 3.0.
      1
      2 $a = 1;
      3 $b = 1;
      4 echo $a.$b;
      5
This will echo 11 in PHP 3.0.

Prev | Home | Next
Function true/false return values | Up | PHP development