Net zoals andere commentatoren hebben vermeld, zijn dit bitsgewijze operators. De bitsgewijze operators van PHP worden hier gedocumenteerd:http://php.net/manual/ nl/taal.operators.bitwise.php
Voorbeelden
&
is een bitwise AND
exploitant.
10 &10 =10 (allemaal decimale weergave). Hoe? 10 is 1010 binair.
1010
and 1010
--------
1010
Merk op dat het resultaat alleen 1 is als zowel het bovenste als het onderste getal in dezelfde kolom 1 zijn.
PHP's manier om dat te schrijven:
<?php
echo 10 & 10;
?>
Result: 10
Wat is het praktische nut ervan? Laten we een voorbeeld nemen:Er zijn 4 sets dubbele deuren. Voor een persoon moeten beide deuren tegelijkertijd opengaan. Open deur krijgt nummer 1. Gesloten deur krijgt nummer 2.
1010
betekent dat de eerste deur open is, de tweede is gesloten, de derde is open, de vierde is gesloten. Als alle deuren gesloten zijn, zien ze er als volgt uit:
0000 <-- first set of doors
0000 <-- second set of doors
Om iemand door de meest linkse deur te laten gaan, moeten de deuren er als volgt uitzien:
0001
0001
Dat is allemaal prima, maar er is een snellere manier om dat te annoteren. Bitgewijze operator &. We doen &tussen beide deuren en krijgen een resultaat van 1. Dus als gegevens worden opgeslagen als 1, weten we dat de meest linkse deuren open waren.
Om de meest linkse deur te openen, zou de combinatie moeten zijn:
1000
1000
Het resultaat van de bitsgewijze operator is decimaal 8. Gebruik de rekenmachine zoals de een op miniwebtool om wat rekenwerk uit te voeren.
Aan de andere kant, aangezien de deuren de hele dag open en dicht gaan, kon men opnemen wanneer beide deuren van een van de 4 sets deuren open waren. Het is gewoon een langdradig antwoord op misschien een simpele vraag.