johny7: Bedingungen an Variablen zuweisen

Moin allerseits,

kann ich einer Variable eine Bedingung zuweisen? Also nach dem Schema:

  
$variable = $wert >=2;  

Ich würde hier jetzt abhängig von $wert in $variable true oder false erwarten.

Dann müsste doch auch Folgendes funktionieren:

  
$variable = ($fall==1) ? ($wert >=1) : ($wert >=2);  

Bei mir will das irgendwie nicht. Ich weiß auch nicht, wo ich nachschlagen muss, um zu erfahren, ob ds so überhaupt vorgesehen ist.

Grüße, JN

--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de
  1. Moin

    Das funktioniert:

    $fall=2;  
    $wert=1;  
    $variable = ($fall==1) ? $wert >=1 : $wert >=2;  
    echo var_dump($variable); 
    

    gibt false aus

    $fall=1;  
    $wert=1;  
    $variable = ($fall==1) ? $wert >=1 : $wert >=2;  
    echo var_dump($variable); 
    

    gibt true aus

    Es müssen natürlich $fert und $fall einen Wert enthalten.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Hi,

      $fall=2;

      $wert=1;

      
      > Es müssen natürlich $fert und $fall einen Wert enthalten.  
        
      Du meinst sicher $fert und $wall, wobei ersteres über letzteren springt und dabei wergnügt viehert.  
        
      Cheatah, Sorry Could Rot Nesist  
      
      -- 
      X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|  
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html  
      X-Will-Answer-Email: No  
      X-Please-Search-Archive-First: Absolutely Yes
      
      1. Hallo,

        $fall=2;

        $wert=1;

        
        > > Es müssen natürlich $fert und $fall einen Wert enthalten.  
        > Du meinst sicher $fert und $wall, wobei ersteres über letzteren springt und dabei wergnügt viehert.  
          
        du solltest an deiner Rechtschreibung arbeiten - es heißt doch "fergnügt".  
          
        
        > Cheatah, Sorry Could Rot Nesist  
          
        Dito,  
         Martin  
        
        -- 
        Drei Sachen vergesse ich immer wieder: Telefonnummern, Geburtstage und ... äääh ...  
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        
        1. [latex]Mae  govannen![/latex]

          Cheatah, Sorry Could Rot Nesist

          Dito,
          Martin

          Sä sänd albern! Ähnen fählt dä sättliche Reife!

          Cü,

          Kai

          --
          ~~~ ken SENT ME ~~~
          Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
          in Richtung "Mess up the Web".(suit)
          SelfHTML-Forum-Stylesheet
          1. Hi,

            Dito,
            Martin
            Sä sänd albern! Ähnen fählt dä sättliche Reife!

            Äch fastähe das näch! Von däm wänzigän Schärz!

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    kann ich einer Variable eine Bedingung zuweisen? Also nach dem Schema:
    $variable = $wert >=2;

    ja, selbstverständlich.

    Ich würde hier jetzt abhängig von $wert in $variable true oder false erwarten.

    Ich auch. :-)

    Dann müsste doch auch Folgendes funktionieren:
    $variable = ($fall==1) ? ($wert >=1) : ($wert >=2);

    Ja, und?

    Bei mir will das irgendwie nicht.

    Und was bedeutet das? Du bist doch auch schon lange genug hier, um zu wissen, dass "geht nicht" keine Fehlerbeschreibung ist. Erst recht nicht "irgendwie".

    So long,
     Martin

    --
    Theorie ist, wenn jeder weiß, wie's geht, und es geht trotzdem nicht.
    Praxis ist, wenn's geht, und keiner weiß warum.
    Bei uns sind Theorie und Praxis vereint: Nichts geht, und keiner weiß warum.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Moin allerseits,

      Hallo,

      kann ich einer Variable eine Bedingung zuweisen? Also nach dem Schema:
      $variable = $wert >=2;

      ja, selbstverständlich.

      Ich würde hier jetzt abhängig von $wert in $variable true oder false erwarten.

      Ich auch. :-)

      Dann müsste doch auch Folgendes funktionieren:
      $variable = ($fall==1) ? ($wert >=1) : ($wert >=2);

      Ja, und?

      Bei mir will das irgendwie nicht.

      Und was bedeutet das? Du bist doch auch schon lange genug hier, um zu wissen, dass "geht nicht" keine Fehlerbeschreibung ist. Erst recht nicht "irgendwie".

      ;-)
      Ich habe meinen Fehler gefunden. Das nötige Ergebnis gab es nicht, weil ich eine Bedingung vergessen habe. Mein Fehler ;-)
      Ich wollte nur vorher die Info einholen, ob so eine Schreibweise grundsätzlich möglich ist, um dann ggf. nach meinem Fehler zu suchen. Deshalb 'irgendwie'... um nicht wertvolle Zeit auf Fehlersuche zu verschwenden, wenn die Grundvoraussetzung nicht stimmen...

      Dass gerade auf die kleinen Fragen so viele Antworten kommen... ;-)

      Kann mir denn jemand eine Quelle z.B. aus php.net nennen, meine Suche ergab nichts.

      Grüße, JN

      --
      ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
      http://www.johny7.de
      1. Hi!

        Ich wollte nur vorher die Info einholen, ob so eine Schreibweise grundsätzlich möglich ist, um dann ggf. nach meinem Fehler zu suchen.
        Kann mir denn jemand eine Quelle z.B. aus php.net nennen, meine Suche ergab nichts.

        Das PHP-Handbuch hat auch nicht für alle Kombinationen von Syntaxelementen einen Text stehen. Kombinieren kann man eine ganze Menge, und solange kein Syntaxfehler gemeldet wird, ist das aus PHP-Sicht auch in Ordnung. Ob ein Programmstück seine Aufgabe zufriedenstellend löst, hängt davon ab, was dein eigentliches Ziel ist. Das kann man aber aus einem Stück Code nicht erkennen, denn das kann beliebig fehlerbehaftet sein. Du müsstest schon verbal beschreiben, worauf du hinauswillst, damit man dir eine nützlichere Antwort geben kann, als sie dir auch der PHP-Parser hätte sagen können.

        Lo!

  3. Hi!

    kann ich einer Variable eine Bedingung zuweisen?

    Variablen werden Werte zugewiesen. Bedingungen hingegen kommen in Kontrollstrukturen zum Einsatz.

    $variable = $wert >=2;

    Hier wird das Ergebnis eines Vergleichs zugewiesen.

    $variable = ($fall==1) ? ($wert >=1) : ($wert >=2);
    Bei mir will das irgendwie nicht. Ich weiß auch nicht, wo ich nachschlagen muss, um zu erfahren, ob ds so überhaupt vorgesehen ist.

    Syntaktisch ist alles in Ordnung (wenn auch die Klammern technisch nicht notwendig sind). Solange kein Syntaxfehler angezeigt wird, gibt es da nichts, das nicht vorgesehen ist. Du hast anscheinend ein Verständnisproblem. Versuch es zunächst einmal mit der Ausgabe der Zwischenergebnisse der von dir verwendeten Teilausdrücke.

    Lo!

  4. Hello,

    kann ich einer Variable eine Bedingung zuweisen?

    Nein. Nur das Ergebnis einer Bedingung. Die Bedingung oder den Vergleich kannst Du aber in einer Funktion zusammenfassen, der Du dann erst zur Laufzeit die Operatoren der Bedingung oder des Vergleichs übergist.

    Aus Deinem Schema wird dann:

    $variable = $wert >=2;

      
    ausführlich geschrieben:  
      
      
    ~~~php
      
    function vergleich($wert)  
    {  
        if ($wert >= 2)  
        {  
            $ergebnis = true;  
        }  
        else  
        {  
            $ergebnis = false;  
        }  
      
        return $ergebnis;  
    }  
    
    

    oder besser kurz zusammengefasst, aber trotzdem noch verständlich:

      
    function vergleich($wert)  
    {  
        return ($wert >= 2);  
    }  
    
    

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  5. kann ich einer Variable eine Bedingung zuweisen?

    Mit einem String und eval(). ;o)