Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Einführung in die clevere Verwendung von Bitoperationen durch PHP zur Verwaltung von Website-Berechtigungen
Der folgende Editor bringt Ihnen einen Artikel darüber, wie PHP Bitoperationen geschickt nutzt, um die Website-Berechtigungsverwaltung zu implementieren. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.
Definieren wir zunächst 4 Konstanten , um vier Berechtigungen festzulegen:
===================================== ==
define(ADD,1);//Erhöhen Sie die Berechtigungen von Datenbankeinträgendefine(UPD,2);//Ändern Sie die Berechtigungen von Datenbankeinträgen
define(SEL ,4);//Berechtigung zum Suchen von Datenbankeinträgen
define(DEL,8);//Berechtigung zum Löschen von Datenbankeinträgen
= ====== =============================
Weiter Angenommen, es gibt 3 Benutzer:
$a_
all=ADD|UPD|SEL|DEL;//$all=15 Sie können feststellen, dass dieser Wert mit dem Ergebnis der Addition identisch ist Benutzer B hat die drei Berechtigungen ADD-UPD-SEL, bitweise ODER-Operation verwenden, berechnet den Gesamtwert der Berechtigungen von B
$b_all=ADD|UPD|SEL;//$all=7 Dieser Wert ist derselbe wie das Ergebnis der Addition
Benutzer C verfügt über zwei Berechtigungen, ADD-UPD. Berechnen Sie den Gesamtberechtigungswert von C mithilfe einer bitweisen ODER-Operation
$c_all=ADD|UPD;//$all=3 Dieser Wert ist immer noch derselbe wie das Ergebnis der Addition
====== ==============================
Als nächstes verwenden wir die bitweise UND-Verknüpfung$a_all&ADD Das Ergebnis ist wahr
$a_all&UPD Das Ergebnis ist wahr
$a_all&SEL Das Ergebnis ist wahr
$a_all&DEL Das Ergebnis ist wahr
================================ =====
$b_all&ADD Das Ergebnis ist wahr$b_all&UPD Das Ergebnis ist wahr
$b_all&SEL Das Ergebnis ist wahr
$b_all&DEL Das Ergebnis ist falsch
=== ============================ =====
$ c_all&ADD Das Ergebnis ist wahr$c_all&UPD Das Ergebnis ist wahr
$c_all&SEL Das Ergebnis ist falsch
$c_all&DEL Das Ergebnis ist falsch
======== ======================== ======
1. Wenn der Gesamtwert der Berechtigungen mit der nicht vorhandenen Berechtigung verknüpft wird, ist das Ergebnis falsch
2 Die Werte der Berechtigungen sind alle Potenz von 2
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die clevere Verwendung von Bitoperationen durch PHP zur Verwaltung von Website-Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!