Stef: Vergleichsoperatoren

Hallo zusammen,

welche Vergleichsoperatoren muss ich nehmen?

$klicks = 5;
if($zaehler <= "$klicks")

funzt nicht!

In der Datenbank habe ich eine Zahl 1, die sich bei gewissen Klicks erhöht, ist der Wert unter 5, sollte es eine else Ausgabe sein, ist der Wert 5 oder höher eine if.

Hoffe es kann mir jemand helfen.

Gruss Stef

  1. Hi!

    $klicks = 5;
    if($zaehler <= "$klicks")

    funzt nicht!

    Ja klar funktioniert das nicht, da du einen Integer mit einem String vergleichst. Mache das also so:

      
    $klicks = 5;  
    if($zaehler <= $klicks)  
    
    

    Grüße,
    Fabian St.

    --
    ---------------------
    fabi@erde ~# whatis spam
    spam: nothing appropriate
    ---------------------
    Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)
    1. Ja klar funktioniert das nicht, da du einen Integer mit einem String vergleichst. Mache das also so:

      $klicks = 5;
      if($zaehler <= $klicks)

        
      Nöööö, das geht auch nicht, bei unter 5 bekomme ich trotzdem if.  
        
      Gruss Stef
      
      1. Hallo Stef.

        $klicks = 5;
        if($zaehler <= $klicks)

        
        >   
        > Nöööö, das geht auch nicht, bei unter 5 bekomme ich trotzdem if.  
          
        Eben. Deine Abfrage in Worten:  
          
        Wenn Inhalt von $zaehler kleiner oder gleich Inhalt aus $klicks (5) ist ...  
          
          
        Gruß, Ashura  
        
        -- 
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|  
        [30 Days to becoming an Opera8 Lover](http://tntluoma.com/opera/lover/8/) -- [Day 15: Mouse Gestures](http://operalover.tntluoma.com/8/day_15_mouse_gestures)  
        Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0  
        IE Layout-Workaround №1: <!--[if IE]><style type="text/css">\*{display:none;}</style><![endif]-->
        
        1. Hallo Ashura,

          Eben. Deine Abfrage in Worten:

          Wenn Inhalt von $zaehler kleiner oder gleich Inhalt aus $klicks (5) ist ...

          auch wenn $zaehler 8 ist, bekomme ich ich if.

          Gruß, Stef

          1. Hallo Stef.

            auch wenn $zaehler 8 ist, bekomme ich ich if.

            Sicher?

            $zaehler = 4;  
            $klicks = 5;  
            if($zaehler <= $klicks)  
            {  
             echo "Jupp!";  
            }  
            else  
            {  
             echo "Noe!";  
            }
            

            => Jupp!

            $zaehler = 8;  
            $klicks = 5;  
            if($zaehler <= $klicks)  
            {  
             echo "Jupp!";  
            }  
            else  
            {  
             echo "Noe!";  
            }
            

            => Noe!

            Gruß, Ashura

            --
            Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Day 15: Mouse Gestures
            Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
            IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
            1. Hallo Ashura,

              Muss dazu sagen das $zaehler ne DB Abfrage ist

                
              $zaehler = $fetchdata['zaehler'];  
              $klicks = 5;  
              if($zaehler <= $klicks)  
              
              

              Vielleicht mache ich da was falsch?

              Gruss Stef

              1. Hallo Stef.

                Vielleicht mache ich da was falsch?

                Was sagt gettype() zu $zaehler?

                Gruß, Ashura

                --
                Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 15: Mouse Gestures
                Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
                IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
                1. Hallo Ashura,

                  Was sagt gettype() zu $zaehler?

                  Kapiere ich nicht ganz? übe mich doch noch in PHP ;-)

                  Gruss Stef

                  1. Hi!

                    Was sagt gettype() zu $zaehler?

                    Kapiere ich nicht ganz? übe mich doch noch in PHP ;-)

                    Was gibt

                      
                      
                    echo gettype($zaehler);  
                      
                    
                    

                    aus?

                    Grüße,
                    Fabian St.

                    --
                    ---------------------
                    fabi@erde ~# whatis spam
                    spam: nothing appropriate
                    ---------------------
                    Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)
                    1. Hallo Fabian,

                      echo gettype($zaehler);

                      
                      >   
                      > aus?  
                        
                      ähm, parse error, unexpected $  
                      Meinte man das damit?  
                        
                      Gruss Stef
                      
                      1. Hi!

                        echo gettype($zaehler);

                        
                        > >   
                        > > aus?  
                        >   
                        > ähm, parse error, unexpected $  
                        > Meinte man das damit?  
                          
                        Nein, meinte er nicht. Wie heißt denn dein ganzer Code? Irgendwo muss sich laut der (im Übrigen unvollständigen) Fehlermeldung ein Syntaxfehler befinden.  
                          
                        Grüße,  
                        Fabian St.  
                        
                        -- 
                        \---------------------  
                        fabi@erde ~# whatis spam  
                        spam: nothing appropriate  
                        \---------------------  
                        Selfcode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%28+ss%3A%29+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%29+zu%3A%29)
                        
          2. Hi Stef,

            auch wenn $zaehler 8 ist, bekomme ich ich if.

            Das ist - mit dem gegebenen Code - nicht möglich.

            Mögliche Fehlerquellen wären jedoch:

            • Du hast den If-Block nicht in Klammern (also in { und })
                geschrieben, deshalb wird nur das erste Statement nach if
                ausgeführt und alle danach immer
            • Du hast dich bei den Variablen verschrieben, so dass du
                mit Variablen arbeitest, die gar nicht existieren. Um dem
                vorzubeugen, solltest du error_reporting auf E_ALL
                stellen.

            Was wäre sonst noch möglich?

            MfG, Dennis.

            --
            Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
            Man sollte nie aufhören zu fragen (Alber Einstein)
            ... aber natürlich erst, nachdem man sämliche FAQ's und Archive durchgelesen hat :-P
    2. echo $begrüßung;

      $klicks = 5;
      if($zaehler <= "$klicks")

      Bist du Hellseher? Hast du eine von diesen seltenen Kristallkugeln? :-)

      Ohne die Ausgabe von var_dump($zaehler) könnte ich keine solche Aussage treffen.

      Unabhängig davon ergibt var_dump(4 <= "5") ein hübsches true wegen der automatischen Typumwandlung von PHP.

      Hier noch ein paar Anregungen zum selbst probieren:

      var_dump("0" < "00");
      var_dump("00" < "00");
      var_dump("00" < "0");

      var_dump("0" == "00");
      var_dump("00" == "00");
      var_dump("00" == "0");

      var_dump("0" === "00");
      var_dump("00" === "00");
      var_dump("00" === "0");

      Hausaufgabe: Wie vergleicht man solche Strings ohne dass die Typumwandlung zuschlägt?

      echo "$verabschiedung $name";

      1. Hi dedlfix!

        $klicks = 5;
        if($zaehler <= "$klicks")

        Bist du Hellseher? Hast du eine von diesen seltenen Kristallkugeln? :-)

        Nein leider nicht, ich muss genauso wie ihr auch raten ;-)

        Ohne die Ausgabe von var_dump($zaehler) könnte ich keine solche Aussage treffen.

        Unabhängig davon ergibt var_dump(4 <= "5") ein hübsches true wegen der automatischen Typumwandlung von PHP.

        In meinen obigen Post war zudem noch der Hinweis (wenn auch versteckt in der Aussage, Vergleich Integer <=> String), dass die "" auf alle Fälle hier unnötig wären und ja ich gabe zu, ich habe außer acht gelassen, dass PHP eine dynamisch getypte Sprache ist.

        Hier noch ein paar Anregungen zum selbst probieren:
        [...]
        Hausaufgabe: Wie vergleicht man solche Strings ohne dass die Typumwandlung zuschlägt?

        Hehe, da hat der Lehrmeister mal wieder gesprochen *fg*

        Grüße,
        Fabian St.

        --
        ---------------------
        fabi@erde ~# whatis spam
        spam: nothing appropriate
        ---------------------
        Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)
        1. re

          Hausaufgabe: ...
          Hehe, da hat der Lehrmeister mal wieder gesprochen *fg*

          Ja, du hast Recht. Es sollte nicht so klingen. Ich versuche meine Denkanregungen demnächst netter zu formulieren.

          dedlfix

          1. Hi dedlfix!

            re

            Hausaufgabe: ...
            Hehe, da hat der Lehrmeister mal wieder gesprochen *fg*

            Ja, du hast Recht. Es sollte nicht so klingen. Ich versuche meine Denkanregungen demnächst netter zu formulieren.

            Schön, dass du es selber eingesehen hast :-) Ich schätze deine Antworten durchaus, weil sie mir helfen, mein Wissen zu erweitern, doch so wie du sie oftmals rüberbringst, denke man sich schon, was er selber damit bezwecken möchte. «Denkansätze» lassen sich durchaus freundlicher formulieren ;-)

            Dazu gehört m.E. auch bereits die Begrüßung, «re» will ich als solche nicht gelten lassen.

            Grüße,
            Fabian St.

            --
            ---------------------
            fabi@erde ~# whatis spam
            spam: nothing appropriate
            ---------------------
            Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)