Hi!
Ja. Aber dennoch wäre ich sehr viel glücklicher wenn intal() und ähnliche Funktionen nicht 0 sondern false zurückliefern würden, wenn es keine Zahl erkennen kann oder auf einen Array losgelassen wird.
Da mach ich dir nicht viel Hoffnung, das sich da was ändert. Einer von PHPs Kollateralschäden ist seine Großzügigkeit, nicht gleich bei jedem Problem eine Fehlermeldung zu werfen, sondern stillschweigend das vermulich richtige zu machen. Dadurch fallen andererseits bestimmte Fehler weniger auf. Kann man aber derzeit nichts machen. Es gibt keine derart verbreitete Alternative, mit der man typsicher programmieren kann.
Das könnte man dann einfacher feststellen:
if (false===intval($_POST['zahl'])) {
intval() interessiert sich nicht für Fehler. Dass es bei nicht-leeren Arrays allerdings 1 liefert ist nicht sehr intuitiv. is_numeric() kannst du verwenden, wenn du vorher prüfen willst.
Lo!