mbr: Verhalten der Funktion ctype_digit()

Beitrag lesen

Hallo Forum,
kann mir einer folgendes Verhalten erklären?

  
var_dump(ctype_digit($iId));       //ergibt true, wenn $iId == 80437, aber false, wenn $iId == 26171 - der Typ von $iId ist bei mir Integer  
var_dump(ctype_digit('80437'));    //ergibt true  
var_dump(ctype_digit(80437));      //ergibt true  
var_dump(ctype_digit(26171));      //ergibt false  
  

PHP Version 4.3.3

ich verstehe ja, dass ctype_digit() einen String als Übergabeparameter erwartet und daher wahrscheinlich allergisch auf Integerwerte reagiert, aber was genau 80437 von 26171 unterscheidet ist mir rätselhaft ... Gibt es irgendeine Erklärung, oder ist das Verhalten bei einem falschen Typ des Übergabeparameters einfach undefiniert?