ほとんどの内部関数が書き直されたのに伴い、PHP/FI 2.0 では成功時に 0 、失敗時に -1 を返していたのが、それぞれ TRUE と FALSE を返す ように変更されました。この新しい振る舞いにより、 $fp = fopen("/your/file") だとか fail("darn!"); のような より論理的なコードを書く事ができるようになりました。PHP/FI 2.0 には、関数がその実行に失敗した時に何を返すべきかという明瞭な ルールがなかったので、そのようなスクリプトのほとんどは、2.0 から 3.0 のコンバータを使った後に、手作業でチェックしなければならないと 思います。
例 A-9. 2.0 からの移行:返り値、古いコード
$fp = fopen($file, "r"); if ($fp == -1); echo("$file を読み込み用として開くことができませんでした<br>\n"); endif;
例 A-10. 2.0 からの移行:返り値、新しいコード
$fp = @fopen($file, "r") or print("$file を読み込み用として開くことができませんでした<br>\n");