Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was sind all diese SQL-Operatoren in Laravel?

Genau wie andere Kommentatoren erwähnt haben, sind dies bitweise Operatoren. Die bitweisen Operatoren von PHP sind hier dokumentiert:http://php.net/manual/ en/language.operators.bitwise.php

Beispiele

& ist ein bitweises UND Operator.

10 &10 =10 (alle Dezimaldarstellung). Wie? 10 ist 1010 binär.

    1010
and 1010
--------
    1010

Beachten Sie, dass das Ergebnis nur dann 1 ist, wenn sowohl die oberste als auch die unterste Zahl in derselben Spalte 1 sind.

PHP schreibt das so:

<?php
echo 10 & 10;
?>
Result: 10

Was ist der praktische Nutzen dafür? Nehmen wir ein Beispiel:Es gibt 4 Doppeltüren. Damit eine Person passieren kann, müssen sich beide Türen gleichzeitig öffnen. Eine offene Tür erhält die Nummer 1. Eine geschlossene Tür erhält die Nummer 2.

1010 bedeutet erste Tür ist offen, zweite ist geschlossen, dritte ist offen, vierte ist geschlossen. Wenn alle Türen geschlossen sind, sehen sie so aus:

0000  <-- first set of doors
0000  <-- second set of doors

Damit jemand durch die Tür ganz links gehen kann, sollten die Türen so aussehen:

0001
0001

Das ist alles in Ordnung, aber es gibt einen schnelleren Weg, dies zu kommentieren. Bitweiser Operator &. Wir tun &zwischen beiden Türen und erhalten ein Ergebnis von 1. Wenn also Daten als 1 gespeichert werden, wissen wir, dass die Türen ganz links offen waren.

Um die Tür ganz links zu öffnen, müsste die Kombination sein:

1000
1000

Das Ergebnis des bitweisen Operators ist dezimal 8. Verwenden Sie den Rechner wie den eine auf miniwebtool etwas rechnen.

Auf der anderen Seite, da sich die Türen den ganzen Tag öffnen und schließen, konnte man aufzeichnen, wann beide Türen einer der 4 Türgruppen geöffnet waren. Es ist nur eine langatmige Antwort auf eine vielleicht einfache Frage.