Tutoriel de base PHP trois opérateurs

黄舟
Libérer: 2023-03-06 08:44:02
original
1351 Les gens l'ont consulté

Contenu expliqué dans cette section

  • Opérateurs arithmétiques

  • Opérateurs d'incrémentation et de décrémentation

  • Opérateur d'affectation

  • Opérateur de chaîne

  • Opérateur de comparaison

  • Opérateurs au niveau du bit

  • Opérateurs logiques

  • Opérateurs ternaires

  • Opérateurs de contrôle d'erreur

Préface

Les opérateurs PHP sont une compétence qui doit être maîtrisée dans les bases de PHP, c'est un pont pour le traitement des données PHP. utilisé dans diverses opérations sur les données, telles que l'addition, la soustraction, la multiplication, la division et/ou d'autres opérations.

Opérateur arithmétique

Opérateur arithmétique : C'est le symbole utilisé pour traiter les quatre opérations arithmétiques. C'est le symbole le plus simple et le plus couramment utilisé, notamment pour le traitement de. nombres, les symboles d’opérations arithmétiques sont presque toujours utilisés.

Classification des opérateurs arithmétiques :

-$a Négation, valeur négative de $a

$a = -1;
echo -$a;
-----结果-----
1
Copier après la connexion

$a $b Addition de la somme de $a et $b

$a = 12;
$b = 12;
$res = $a + $b;
echo $res;
-----结果-----
24
Copier après la connexion

$a - $b Soustraire la différence entre $a et $b

$a = 12;
$b = 6;
$res = $a - $b;
echo $res;
-----结果-----
6
Copier après la connexion

$a * $b Multiplier le produit de $a et $b

$a = 2;
$b = 3;
$res = $a * $b;
echo $res;
-----结果-----
6
Copier après la connexion

$a / $b est le quotient de la division $a et $b

$a = 12;
$b = 6;
$res = $a / $b;
echo $res;
-----结果-----
2
Copier après la connexion

$a % $b est le reste modulo $a et $b

$a = 3;
$b = 2;
$res = $a % $b;
echo $res;
-----结果-----
1
Copier après la connexion

Opérateurs d'incrémentation et de décrémentation

  • $a : ajoutez un à la valeur de $a, puis renvoyez $a. Il s'agit d'une pré-incrémentation.

  • $a renvoie $a puis ajoute un à la valeur de $a, qui est post-incrémentée.

  • –$a Décrémentez la valeur de $a de un, puis retournez $a , décrémentée auparavant.

  • $a– Renvoie $a, puis décrémente la valeur de $a de un, puis décrémente.


$a

$a = 1;
$b = ++$a;//先++,在进行赋值运算,等价于$a = $a + 1; $b = $a;
echo $b . &#39;<br>&#39; . $a;
-----结果-----
$b = 2 $a = 2
Copier après la connexion

$a

$a = 1;
$b = $a++;//先赋值,在进行++运算,等价于$b = $a; $a = $a + 1;
echo $b . &#39;<br>&#39; . $a;
-----结果-----
$b = 1  $a = 2
Copier après la connexion

La situation de soustraction est la même que ci-dessus.

Opérateur d'affectation

L'opérateur d'affectation de base est "=", ce qui signifie en fait attribuer la valeur de l'expression de droite à l'opération de gauche nombre.

$a = 1;
$b = &#39;string&#39;;
Copier après la connexion

Il existe également des cas où =, -=, /=, etc.

$a = 1;
$a += 2;//等价于$a = $a + 2;
echo $a;
-----结果-----
3
Copier après la connexion

L'opérateur de chaîne

a deux chaînes. L'opérateur est ("."), qui renvoie une chaîne concaténée avec ses arguments gauche et droit.

$a = 1;
$b = 2;
echo &#39;$a = &#39; . $a . &#39;  $b = &#39; . $b;
-----结果-----
$a = 1 $b = 2;
Copier après la connexion

Opérateur de comparaison

L'opérateur de comparaison est utilisé pour comparer deux variables, si la valeur est la même, si le type de données est le même et la comparaison le résultat est supérieur. La plupart sont de type booléen.

Les opérateurs de comparaison courants sont :

  • $a == $b est égal à vrai Lorsque $a == $b, ici généralement uniquement les valeurs numériques. sont jugés égaux, ne déterminera pas si les types sont égaux.

  • $a === $b Congruent vrai si $a est égal à $b et que leurs types sont les mêmes.

  • $a != $b n'est pas égal à vrai, renvoie vrai lorsque les valeurs des deux variables ne sont pas égales ;

  • $a < ;> $b n'est pas égal à true. Il existe une autre façon d'écrire la situation ci-dessus, si $a n'est pas égal à $b après la conversion de type.

  • $a !== $b n'est pas égal à vrai, si $a n'est pas égal à $b, ou si leurs types sont différents, notez que lorsque l'une des deux variables est n'est pas égal, true sera renvoyé ;(Nombre, type)

  • $a < $b est inférieur à TRUE si $a est strictement inférieur à $b.

  • $a > $b est supérieur à TRUE si $a est strictement supérieur à $b .

  • $a <= $b est inférieur ou égal à TRUE si $a est inférieur ou égal à $b .

  • $a >= $b est supérieur ou égal à TRUE si $a est supérieur ou égal à $b .


    $a = 2;
    $b = &#39;2&#39;;
    var_dump($a == $b); //判断两个数值是否相等,比较的时候会进行类型转换。
    -----结果-----
    bool(true)  
    var_dump($a === $b);//判断数值和类型是否相等,当时全等比较的时候,不会进行类型转换。
    -----结果-----
    bool(false)
    Copier après la connexion

Opérateurs au niveau du bit

Les opérateurs au niveau du bit permettent de spécifier des bits dans un nombre entier à spécifier en binaire méthode d'évaluation et de fonctionnement.

Avant cela, parlons d'abord du binaire

Une brève introduction au binaire

Dans l'ordinateur, tous les nombres sont stockés en mémoire comme stockés dans forme binaire. Pour parler franchement, les opérations sur les bits consistent à opérer directement sur les bits binaires des entiers en mémoire.

Qu'est-ce que le binaire : les données binaires sont un nombre représenté par deux chiffres, 0 et 1. Sa base est 2, la règle du report est « quand deux sont entrés, un est ajouté » et la règle d'emprunt est « emprunter un pour être égal à deux ».

Convertir le décimal en binaire : "Divisez par 2 et prenez le reste, disposez dans l'ordre inverse" (divisez par deux et prenez le reste)

        商   余数
3 / 2 = 1.....1
1 / 2 = 0.....1
二进制(逆序排列):
11

12 / 2 = 6....0
6 / 2 = 3.....0
3 / 2 = 1.....1
1 / 2 = 0.....1
二进制:
1100

15 / 2 = 7....1
7 / 2 = 3.....1
3 / 2 = 1.....1
1 / 2 = 0.....1
二进制:
1111
Copier après la connexion

Convertir binaire en décimal  : "Développer la somme en poids"

1111 = 1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 15
10 = 0 * 20 + 1 * 21 = 2
Copier après la connexion

Il existe trois formes d'expression des bits de symboles dans les ordinateurs  :

  • Code original

  • Code inverse

  • Code complémentaire

Lors de l'exécution d'opérations sur les bits , ils sont convertis en Des opérations complémentaires sont effectuées.

La représentation binaire d'un nombre positif est qu'il y a un 0 devant le binaire pour représenter un nombre positif
Le code original du nombre positif, le code inverse , et le code complément sont les mêmes (trois codes en un)

La représentation binaire d'un nombre négatif est qu'il y a un 1 devant le binaire pour représenter un nombre négatif .
Le code original d'un nombre négatif est un nombre binaire calculé à l'aide d'une formule. Le code complément signifie qu'à l'exception du bit de signe, tout le reste est inversé (1 devient 0, 0 devient 1). code 1.

Par exemple -1

原码 10000000 00000000 00000000 00000001 
反码 11111111 11111111 11111111 11111110 取反
补码 11111111 11111111 11111111 11111111 加1
Copier après la connexion

Quant à la raison pour laquelle il est nécessaire d'écrire 32 bits, ma compréhension est la suivante : l'entier occupe 4 octets, chaque octet fait 8 bits, un total de 32 bits, dont un bit de signe.

Ceci est une brève introduction au système binaire


Classification des opérateurs au niveau du bit en PHP

  • $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 Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。

  • $a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

示例:

与(1 1 = 1; 1 0 = 0;0 0 = 0)

$a = 1 & 2;//进行“与”运算  两个都为1的时候为1,其他为0
// 1的补码
// 00000000 00000000 00000000 00000001
// 2的补码
// 00000000 00000000 00000000 00000010
// 结果
// 00000000 00000000 00000000 00000000 == 0
echo $a;
-----结果-----
0
Copier après la connexion

或(1 1 = 1;1 0 = 1;0 0 = 0)

$a = 1 | 2;//进行“或”运算  至少有一个为1的时候为1,其他为0
// 1的补码
// 00000000 00000000 00000000 00000001
// 2的补码
// 00000000 00000000 00000000 00000010
// 结果
// 00000000 00000000 00000000 00000011 == 3
echo $a;
-----结果-----
3
Copier après la connexion

异或(1 0 = 1; 1 1 = 0; 0 0 = 1)

$a = 3 ^ 2;//进行“异或”运算  一个为1,一个为0的时候为1,其他为0
// 1的补码
// 00000000 00000000 00000000 00000011
// 2的补码
// 00000000 00000000 00000000 00000010
// 结果
// 00000000 00000000 00000000 00000001 == 1
echo $a;
-----结果-----
1
Copier après la connexion

取反(1 = 0; 0 = 1)注意符号位的变化。

$a = ~2;//进行“取反”运算  1变0,0变1
// 2的二进制
// 00000000 00000000 00000000 00000010
// 11111111 11111111 11111111 11111101 前面一个1,是负数
// 反码
// 11111111 11111111 11111111 11111100
// 原码
// 10000000 00000000 00000000 00000011 == -3
echo $a;
-----结果-----
-3
Copier après la connexion

左移(将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”))

左移时右侧以零填充,符号位被移走意味着正负号不被保留。

$a = 1;
// 二进制:
// 00000000 00000000 00000000 00000001
// 左移时右侧以零填充,符号位被移走意味着正负号不被保留。
// 00000000 00000000 00000000 00000100 == 4
echo $a << 2;//将 $a 中的位向左移动2次
-----结果-----
4
Copier après la connexion

右移时左侧以符号位填充,意味着正负号被保留。

$a = 4;
// 右移时左侧以符号位填充,意味着正负号被保留。 
// 00000000 00000000 00000000 00000100
// 00000000 00000000 00000000 00000001 == 1
echo $a >> 2;
-----结果-----
1
Copier après la connexion

到这里位运算符算术基本说完了……

逻辑运算符

逻辑运算符也就是判断逻辑,它的返回结果一般是布尔类型,像与或非等;而PHP中的逻辑运算符有:

  • $a and $b And(逻辑与) TRUE ,如果 $a 和 $b 都为 TRUE 。

  • $a or $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。

  • ! $a Not(逻辑非) TRUE ,如果 $a 不为 TRUE 。

  • $a && $b And(逻辑与) TRUE ,如果 $a 和 $b 都为 TRUE 。

  • $a || $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。

逻辑与(当表达式的两边都为true的时候结果为真)

两个&符号:

$a = 2;
$b = 3;

if($a > 1 && $b > 2){ //左边的为true,右边的为true;两边都为true,结果为true;
    echo &#39;与&#39;;
}
-----结果-----
与
Copier après la connexion

一个&符号:

$a = 2;
$b = 3;

if($a > 1 & $b > 2){ //左边的为true,右边的为true;两边都为true,结果为true;
    echo &#39;与&#39;;
}
-----结果-----
与
Copier après la connexion

区别:两个&时:如果有一个逻辑判断表达式为假,则后面的逻辑运算就不会执行,俗称短路现象。

一个&:两边的都会判断。不管是真是假。

逻辑或(当左右两个表达式其中有一个是true的时候,为真)

两个|符号:

$a = 2;
$b = 4;

if($a > 1 || $b < 3){ //左边的为true,右边的为false;
    echo &#39;或&#39;;
}
-----结果-----
或
Copier après la connexion

一个|符号:

$a = 2;
$b = 4;

if($a > 1 | $b < 3){ //左边的为true,右边的为false;
    echo &#39;或&#39;;
}
-----结果-----
或
Copier après la connexion

区别:两个|时:如果有一个逻辑判断表达式为真,则后面的逻辑运算就不会执行,短路现象。

一个|:两边的都会判断。不管是真是假。

(!true = false; !false = true)

$a = true;
var_dump(!$a);
-----结果-----
bool(false)
Copier après la connexion

三元运算符

语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果为真执行第一个,否则执行第二个。”

$a = 456;
$b = $a > 10 ? true : false; //问号前面的结果为真,执行第一个true;
var_dump($b);
-----结果-----
bool(true);
Copier après la connexion

三元运算符可以说是if…else的简化版,在以后的开发中也会经常使用到的。

错误控制运算符

介绍: PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉

当你不想用户看到错误信息可以使用。

总结

说了这么多总算把运算符的大部分都说完了,其中还有数组运算符,类型运算符等,在数组和对象的时候会说。

 以上就是PHP基础教程三之运算符的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!