Die
-Berechtigungsverwaltungsmethode ist eine häufig verwendete Methode und verwendet hauptsächlich die Operation „Bit-Operator“, das &-Bit und den -Operator , |. Wenn an der Operation eine Dezimalzahl beteiligt ist, wird diese in eine Binärzahl umgewandelt, um an der Operation teilzunehmen. Anschließend wird das Berechnungsergebnis in eine Dezimalzahl umgewandelt und ausgegeben.
Sein Berechtigungswert lautet wie folgt:
2^0=1, und die entsprechende Binärzahl ist „0001“ (hier wird ^ als „Potenz“ ausgedrückt, das heißt: 2 0. Potenz , das Gleiche unten)
2^1=2, die entsprechende 2-stellige Zahl ist „0010“
2^2=4, die entsprechende 2-fache Zahl ist „0100“
2 ^3 =8, die entsprechende Binärzahl ist „1000“
Um festzustellen, ob eine Zahl innerhalb eines bestimmten Zahlenbereichs liegt, können Sie den &-Operator verwenden (der Wert wird der obigen Tabelle entnommen)
Zum Beispiel: 7=4|2|1 (Sie können es auch einfach als 7=4+2+1 verstehen)
Verwenden Sie & zum Bedienen, Sie können wissen, dass 7&4, 7&2, 7&1 sind alles wahr, und wenn 7&8, dann ist es eine Fälschung
&, | Wenn Sie damit nicht vertraut sind, sollten Sie im Handbuch nachsehen, wie es verwendet wird
Beispielbeschreibung:
<?php // 赋予权限值-->删除:8、上传:4、写入:2、只读:1 define(“mDELETE”,8); define(“mUPLOAD”,4); define(“mWRITE”,2); define(“mREAD”,1); //vvvvvvvvvvvvv使用说明vvvvvvvvvvvvv //部门经理的权限为(假设它拥有此部门的所有权限),| 是位或运行符,不熟悉的就查查资料 echo mDELETE|mUPLOAD|mWRITE|mREAD ,” “;// 相当于是把上面的权限值加起来:8+4+2+1=15 // 设我只有 upload 和 read 权限,则 echo mUPLOAD|mREAD ,” “;//相当于是把上传、只读的权限值分别相加:4+1=5 /* *赋予它多个权限就分别取得权限值相加,又比如某位员工拥有除了删除外的权限其余都拥有,那它的权限值是多少? *应该是:4+2+1=7 *明白了怎么赋值给权限吧? */ //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //判断某人的权限可用,设权限值在$key中 /* *判断权限用&位与符, */ $key = 13;//13=8+4+1 if($key & mDELETE) echo “有删除权限 “; //8 if($key & mUPLOAD) echo “有上传权限 “; //4 $a=$key & mWRITE; echo “有写权限 “.$a; //无此权限 if($key & mREAD) echo “有读权限 “; //1 ?>
OK, Berechtigungen Einer der Bewertungsalgorithmen sieht so aus, man kann sagen, dass er einfach und effizient ist. Ich weiß nicht, ob Sie es verstehen oder nicht. Es spielt keine Rolle, ob Sie es nicht verstehen. Die Voraussetzung besteht darin, die Berechtigungswerte gut zu verteilen, d Löschung im obigen Beispiel gezeigt). Mit der Berechtigungsverteilungstabelle können Sie bestimmen, welche Berechtigungen einer Person erteilt werden. Sie können einfach herausfinden, welche Berechtigungen Sie benötigen, indem Sie einfach die entsprechenden Berechtigungswerte hinzufügen.
Diese Methode ist sehr einfach zu verwenden. Der Nachteil besteht darin, dass der Berechtigungswert immer größer wird, wenn alle Berechtigungen vorhanden sind sind erforderlich? Addieren Sie alles. Für allgemeine Berechtigungen reicht dies jedoch aus.
Bit-OperationTipps
1. Ermitteln Sie die Maximal- und Minimalwerte des INT-Typs
Maximalwert:
~ (1 << 31)
Mindestwert:
(1 << 31)
2. Mit 2 multiplizieren und durch 2 dividieren Operation
Mit 2 multiplizieren:
$n << 1
Durch 2 dividieren:
$n >> 3. Multiplizieren Sie die Summe von 2 hoch m und 2 hoch m
durch 2 hoch m:
$n << $m
dividiert durch 2 m Potenz:
$n >> $m
4 Bestimmen Sie die Parität einer ganzen Zahl
($n & 1) == 1
Zwei Zahlen ohne temporäre Variablen austauschen
$a ^= $b;
$a ^= $b;
6. Nehmen Sie von niedrig nach hoch das m-te Bit von n
return
($n >> ($m-1)) & 1; 🎜>7 .Von niedriger Position zur oberen Position 1
return $n | (1 << ($m-1));8 Position zur oberen Position, Bringe die m-te Position von n auf 0 zurück
return $n & ~(1 << ($m-1));
Das obige ist der detaillierte Inhalt vonZusammenfassung von Tipps zur Verwendung von PHP-Bit-Operatoren, die Sie nicht kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!