助けてなのら!
$n = (int) func1();
$flag1 = ($n == 0);
$flag2 = ($n != 0);

とした後、デバッグのために値を確認したら、
print "flag1 = $flag1 <br>";
print "flag2 = $flag2 <br>";

flag1 は 1 となるのに、flag2 のほうは何も表示されないのら。
なんでなのら?! 0 になるんはずじゃないのかなのら!