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