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 |