その他の互換性
- PHP 3.0 の Apache モジュールは、もはや バージョン 1.2 以前の Apache をサポートしません。Apache 1.2 以降が必要となります。
- echo() はもはやフォーマット文字列をサポート しません。printf() 関数を使ってください。
- PHP/FI 2.0 では、実装面に起因する副作用として、 $foo[0] が $foo と同じ値になるということがありました。 これは PHP 3.0 では等しくなくなりました。
- $array[] で配列を読み込む機能は、 もはやサポートされません。 すなわち、$data = $array[] といったループで配列の中身を取り出すことはできないということです。 この代わりに current() と next() を使ってください。 また、$array1[] = $array2 では $array2 の値を $array1 に追加することにはならず、 $array1 の最後のエントリに $array2 を追加することになってしまいます。 多次元配列のサポートを参照してください。
- "+" は、もはや文字列の連結演算子にはならず、 その代わりにその引数を数値に変換して数値の加算を行ってしまいます。 "." を使用してください。
Example#1 2.0 からの移行: 文字列の連結
echo "1" + "1";
PHP 2.0 ではこれで 11 が表示されますが、PHP 3.0 ではこれは 2 になります。代わりに次のようにしてください。
echo "1"."1";
$a = 1;
$b = 1;
echo $a + $b;
これは PHP 2.0 でも 3.0 でも 2 になります。
$a = 1;
$b = 1;
echo $a.$b;