Ankündigung

Einklappen
Keine Ankündigung bisher.

Was bedeutet if ($var1 & $var2) ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was bedeutet if ($var1 & $var2) ?

    PHP-Code:
    if ($var1 $var2)
    {..do 
    sth.. } 
    Wird hier überprüft ob beide Variablen einen Wert haben oder was genau wird hier überprüft?

    Danke.


  • #2
    $var1 wird mit $var2 auf Binärer Ebene überprüft d.h. wenn der Binär-Wert der beiden Werte übereinstimmt ergibt die Bedingung true

    Beispiel:
    5 = 0101
    6 = 0110

    5 & 6 = false
    0101 & 0110 = false

    5 & 5 = true
    0101 & 0101 = true

    siehe auch http://www.php.net/manual/de/languag...rs.bitwise.php
    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

    Kommentar


    • #3
      Ahh, ok, danke!

      Kommentar


      • #4
        aber aufpassen verwechselt man gerne mit dem UND weil die UND Vernküpfung einfach nur mit 2 kaufm. & dargestellt werden deshalb zieh ich immer vor die Verknüpfungen auszuschreiben
        Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

        Kommentar


        • #5
          aber rein theoretisch ist es doch das gleiche wie

          PHP-Code:
          if ($var1 == $var2
          oder?

          Kommentar


          • #6
            nein.
            PHP-Code:
            <?php
            $var1 
            1;
            $var5 5;

            if (
            $var1 $var5) {
                echo 
            'a';
            }
            if (
            $var1 == $var5) {
                echo 
            'b';    
            }
            ?>
            Eigentlich müsste beim ersten Vergleich auch
            if ( ($var1&$var5)!=0 )
            stehen.
            C# zB führt an dieser Stelle keine Umwandlung durch und erwartet einen Wahrheitswert wie x==0

            Kommentar


            • #7
              Hi und danke für die Antwort.

              Also wenn du mir nun noch sagen könntest wie if ($var1 & $var2) in C# aussieht hab ichs glaub ich definitiv verstanden.

              in C# ist also if (var1 == var2) nicht das gleiche wie in php mit &. Wäre es dann in C# (var1 & var2) ? Also genaugleich ?

              Kommentar


              • #8
                Probiers doch aus?

                Kommentar


                • #9
                  ok also scheinbar ist es in C#

                  PHP-Code:
                  if ((var1 var2) == 0

                  Kommentar


                  • #10
                    ok meine Beschreibung war etwas unpassend der Bit-Und-Operator gibt die Bits zurück die in beiden Werten gesetzt sind.

                    besseres Beispiel:

                    21 = 10101
                    5 = 00101

                    21 & 5 ergibt 5
                    21 & 1 ergibt 1
                    21 & 2 ergibt 0

                    usw.
                    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                    Kommentar


                    • #11
                      Genau, da
                      10101 = 21
                      +
                      00101 = 5
                      =
                      00101 = 5

                      da
                      0 & 0 = 0
                      0 & 1 = 0
                      1 & 0 = 0
                      1 & 1 = 1

                      Kommentar

                      Lädt...
                      X