Ligesom andre kommentatorer har nævnt, er det bitvise operatører. PHP's bitvise operatorer er dokumenteret her:http://php.net/manual/ en/language.operators.bitwise.php
Eksempler
&
er en bitvist OG
operatør.
10 &10 =10 (alle decimaler). Hvordan? 10 er 1010 binært.
1010
and 1010
--------
1010
Bemærk, at resultatet kun er 1, når både øverste og nederste tal i samme kolonne er 1.
PHPs måde at skrive det på:
<?php
echo 10 & 10;
?>
Result: 10
Hvad er den praktiske brug for det? Lad os tage et eksempel:Der er 4 sæt dobbeltdøre. Begge døre skal åbne på samme tid, for at en person kan passere igennem. Åben dør får nummer 1. Lukket dør får nummer 2.
1010
betyder, at den første dør er åben, den anden er lukket, den tredje er åben, den fjerde er lukket. Når alle døre er lukket, vil de se sådan ud:
0000 <-- first set of doors
0000 <-- second set of doors
For at tillade nogen at passere gennem døren længst til venstre, skal dørene være sådan her:
0001
0001
Det er alt i orden, men der er en hurtigere måde at kommentere det på. Bitwise operator &. Vi gør &mellem begge døre og får et resultat på 1. Så hvis data gemmes som 1, ved vi, at dørene til venstre var åbne.
For at åbne døren længst til venstre skal kombinationen være:
1000
1000
Resultat af bitvise operator er decimal 8. Brug lommeregner som en på miniwebtool at køre noget matematik.
På bagsiden, da dørene åbner og lukker hele dagen, kunne man registrere, hvornår begge døre til et af de 4 sæt døre var åbne. Det er bare et langtrukkent svar på måske et simpelt spørgsmål.