Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Verwendung der PHP-Median-Operation
phpBitoperationen werden in PHP nicht häufig verwendet, sind aber sehr nützlich. Lassen Sie uns die Verwendung von PHP-Bitoperationen vorstellen.
$a & $b und (bitweises UND)
$a |. $b oder (bitweises ODER)
$a ^ $b
$a |. $b Bitweises ODER setzt entweder $a oder $b zu 1;
Beispiel: 10 |. 12 = 141110 14$a ^ $b Bitweises XORBeispiel: 10 ^ 12
10 1010
12 1100
例:10 & 12 = 8~a Bitweise Notation setzt die 0 in $a auf 1 und die 1 auf 0
Beispiel: ~10 =
10 1010. 11111111111111111111111111111111 111111111110101 -11
$a fbe5dfd0eae503e19ca9144ca0e066ab> $b-Rechtsverschiebung verschiebt den Wert in $a nach rechts $b (jede Bewegung bedeutet Division durch 2); 10000000000(1024) Eine Verschiebung um 2 Bits nach rechts ist 100000000(256)
php ist die Operation $a & $b und (bitweises UND) $a |. $b oder (bitweises ODER) $a ^ $b Xor( Bitweises XOR )~$a Nicht (bitweise nicht) $a 2d3685053334711fba4d0e8187cd3e75> setzt die Bits, die in $a und $b beide 1 sind, auf 1; Beispiel: 10 & 12 = 810 101012 1100 1000 8
$b Bitweises ODER setzt die Bits in $a oder $b auf einen Wert von 1 ist auf 1 gesetzt; Beispiel: 10 |. 12 = 1410 101012 1100 1110 14
$a ^ $b Bitwise 1, und die 1 ist auf 0 gesetzt. Beispiel: ~10 = 10 111111111111111111111111111111111111111111111111110101 -11
$a << $b Bewegen Sie sich nach links zu $a, um sich $b mal nach links zu bewegen (jede Bewegung bedeutet multiplizieren mit 2); Beispiel: 1 << 10 = 10241(1) Eine Verschiebung um 10 Ziffern nach links 10000000000(1024) entspricht 1*2 in der 10. Potenz. Es ist wirklich deprimierend.
$a > Die Verschiebung um 2 Bits beträgt 100000000(256)
Die Kombination aus Flag-Feld und
Bit-Operator
in PHP Liste der Parameterwerte für error_reporting
1 E_ERROR
2 E_WARNING
32 E_CORE_WARNING
256 E_
USER_ERROR
4096 E_RECOVERABLE_ERROR
Schauen Sie sich Folgendes an. Wandeln Sie den Wert von value in einen Binärwert um.
0000 0010 E_WARNING
0000 0100 E_PARSE
.
.
Einstellungen abrufen:
Die Beurteilung, ob ein bestimmtes Element aktiviert ist, kann mithilfe von Bitoperationen erhalten werden (& – „AND“-Regel bedeutet, dass alle 1 1 sind, andernfalls ist es 0)
//E_PARSE
if($n & 4){
//E_PARSE ist aktiviert
//4 Die Binärzahl ist 0100, da nur das dritte Bit 1 ist. Wenn also die Operation „&“ ausgeführt wird, werden
andere
Positionen alle auf 0 gesetzt
// Daher nur das dritte Das Bit von $n ist ebenfalls 1 und das Ergebnis ist größer als 0.
//So wie 4(0100),5(0101),6(0110),7(0111)
}else{
//E_PARSE ist geschlossen
}
Einstellungen ändern: ($n stellt den aktuellen Dezimalwert dar)
error_reporting(3);//decbin(3) == 0000 0011; (相当于设置 E_WARNING 和 E_ERROR ) error_reporting(4);//decbin(4) == 0000 0100;(相当于设置 E_PARSE ) error_reporting(5);//decbin(5) == 0000 0101;(相当于设置 E_PARSE 和 E_ERROR)Während der Anwendung können wir den Schalter nach Bedarf auf ein bestimmtes Bit einstellen.
Siehe Verwendung unten.
//Schließen Sie das E_PARSE-Element und verwenden Sie die „AND“-Regel „&“
$n = $n&(8192-4-1);
//Warum 8191 verwenden?
//Dies hat etwas mit der Anzahl der Optionen zu tun, die Sie haben. Diese Fehleranzeigemarkierung verwendet insgesamt 13 Bits (4096 ist 13 Bits in Binärform), während 8192 (14 Bits) ist.
// Warum wird es um 4 oder 1 reduziert?
//8192-4-1=8187. (1111111111011) Die Binärzahl besteht aus 13 Ziffern, was der maximalen Anzahl von Ziffern entspricht, die wir verwenden. Und der entsprechende Wert im dritten Bit ist 0.
//Verwenden Sie diese Zahl, um eine bitweise UND-Verknüpfung mit einer beliebigen Zahl zwischen 1 und 4096 durchzuführen. Mit Ausnahme des dritten Bits, das auf 0 gesetzt wird, ändern sich die Werte anderer Bits nicht? „UND“-Regel:)
//Ähnlich, wenn Sie E_WARNING ausschalten möchten
//$n = $n&(8192-2-1);
//Um das einzuschalten E_PARSE-Element, verwenden Sie die „OR“-Regel „|“
$n = $n|4;
//Nachdem Sie den obigen Abschluss gelesen haben, haben Sie möglicherweise einige Ideen zum Öffnen:)
// '| ' — „ODER“-Regel Wenn 1 vorhanden ist, ist es 1, andernfalls ist es 0
//Wenn alle Bits 1 sind, hat dies keine Auswirkungen auf andere Bits. Jetzt ist es der Fall, wenn alle Bits 1 sind 0, es hat keinen Einfluss auf andere Bits :)
// Wir müssen also nur den entsprechenden Wert des Binärbits des nachfolgenden Operanden auf 1 setzen, und alle anderen Bits auf 0 sind in Ordnung.
//Hast du es gefunden? Es ist zufällig der Dezimalwert, der jedem unserer Einstellungselemente entspricht:
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der PHP-Median-Operation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!