Stejně jako ostatní komentátoři zmínili, jedná se o bitové operátory. Bitové operátory PHP jsou zdokumentovány zde:http://php.net/manual/ en/language.operators.bitwise.php
Příklady
&
je bitové AND
operátor.
10 &10 =10 (vše v desítkovém vyjádření). Jak? 10 je 1010 binární.
1010
and 1010
--------
1010
Všimněte si, že výsledek je 1 pouze v případě, že horní i dolní číslo ve stejném sloupci je 1.
PHP způsob, jak to napsat:
<?php
echo 10 & 10;
?>
Result: 10
Jaké to má praktické využití? Vezměme si příklad:Existují 4 sady dvoukřídlých dveří. Oboje dveře se musí otevřít současně, aby jimi mohl projít člověk. Otevřené dveře mají číslo 1. Zavřené dveře mají číslo 2.
1010
znamená, že první dveře jsou otevřené, druhé jsou zavřené, třetí jsou otevřené, čtvrté jsou zavřené. Když jsou všechny dveře zavřené, budou vypadat takto:
0000 <-- first set of doors
0000 <-- second set of doors
Aby někdo mohl projít levými dveřmi, měly by být tyto:
0001
0001
To je všechno v pořádku, ale existuje rychlejší způsob, jak to komentovat. Bitový operátor &. Uděláme &mezi oběma dveřmi a dostaneme výsledek 1. Pokud jsou tedy data uložena jako 1, víme, že dveře nalevo byly otevřené.
Chcete-li otevřít dveře zcela vlevo, kombinace by musela být:
1000
1000
Výsledek bitového operátoru je desítkové číslo 8. Použijte kalkulačku jako jeden na miniwebtool proběhnout nějakou matematiku.
Na druhé straně, jak se dveře otevírají a zavírají celý den, bylo možné zaznamenat, kdy byly otevřeny obě dveře kterékoli ze 4 sad dveří. Je to jen sáhodlouhá odpověď na možná jednoduchou otázku.