PHP/FI 2.0 では、結果の型を決めるのに左辺式を使っていました。 PHP 3.0 では、結果の型を決めるのに両辺を使うようになったので、 3.0 環境の元で 2.0 のスクリプトを実行すると、予期しない結果になる 場合があります。
以下の例を考えてみましょう。
1
2 $a[0]=5;
3 $a[1]=7;
4
5 $key = key($a);
6 while ("" != $key) {
7 echo "$keyn";
8 next($a);
9 }
10 |
これを解決するのは簡単です。while ステートメントを以下のように変更 します。
1
2 while ((string)$key != "") {
3 |