Opérations sur les bits de syntaxe de base PHP
Les gens qui écrivent PHP depuis plusieurs années sont curieux de dire qu'ils n'ont jamais utilisé d'opérateurs au niveau du bit. Donc, si vous avez le vertige en regardant le binaire ici, allez simplement sur T¥M¥D.
Les opérateurs au niveau du bit ne sont fondamentalement pas utilisés, et nous plaçons également ces connaissances au niveau de compréhension. Vous n’êtes pas obligé d’acquérir des connaissances sur les opérateurs au niveau du bit si vous ne le souhaitez pas. Apprenons-le plus tard lorsque nous utiliserons les opérations sur les bits.
Niveau d'apprentissage des connaissances [niveau de compréhension, ayez juste une impression].
举例 | 说明 | 详细说明 |
---|---|---|
$a & $b | And(按位与) | 将把 $a 和 $b 中都为 1 的位设为 1。 |
$a | $b | Or(按位或) | 将把 $a 和 $b 中任何一个为 1 的位设为 1。 |
$a ^ $b | Xor(按位异或) | 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 |
~ $a | Not(按位取反) | 将 $a 中为 0 的位设为 1,反之亦然。 |
$a << $b | 左移 | 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 |
$a >> $b | 右移 | 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 |
Les symboles ci-dessus sont tous des opérations binaires.
Dans la plupart des cas, vous ne rencontrerez pas le binaire. Si vous le rencontrez, vous pourrez compléter vos connaissances en binaire.
<?php //$x二进制值为: $x = 5; //$y二进制值为: $y = 8; //结果为13 echo $x ^ $y; ?>
变量 | 二进制值 |
---|---|
$x | 0101 |
$y | 1000 |
异或结果 | 1101 |
Explication XOR : Si les deux valeursde x et y ne sont pas les mêmes, le résultat XOR est 1. Si les valeurs de x et y sont identiques, le résultat XOR est 0.
On peut en déduire que 1101 est le résultat du XOR de $x et $y. Le résultat de 1101 converti à l'aide de l'outil binaire en décimal est 13.
Capture d'écran de la conversion décimale en ligne du système secondaire en décimal :