Struppi: /(CGI) Ist 0 (null) wirklich nichts?

Beitrag lesen

Nun gibt es folgendes Verhalten: Ist das Feld mit einer Zahl größer 0 gefüllt, gehts immer in dem if-Zweig - so soll es sein. Ist das Feld leer, gehst in den else-Zweig, auch ok. ABER ist das Feld mit einer 0 (Ziffer Null) gefüllt, gehts es auch in den else-Zweig!? Warum? Null ist eine gültige Zahl. Und eben nicht "nichts". Wie bekomme ich den Wert Null in meine Variable $sizelimit?

Dazu musst du Wissen, worauf ein if(...) oder while(...) prüft. Und zwar ob der Wert in der Klammer ungleich 0 ist, kein Leerstring oder ein definiertes Objekt.

In deinem Falle ist es 0 also falsch. du willst Wissen, ob der wert definiert ist, also:

  
if  (defined  $query->param('sizelimit')) {  
        $sizelimit=$query->param('sizelimit');  
        print "if: $sizelimit";  
    }else{  
        $sizelimit=20;  
        print "else: $sizelimit";  
    }

Struppi.