Opérations

Concaténation
Addition (+)
Multiplication (*)
Division (/)
Modulo
Comparaison binaire

Concaténation

Admettons une variable $Truc qu'on désire remplir petit à petit :

$Truc = "Un";
$Truc .= "Deux";
$Truc .= "Trois";
$Truc = $Truc."Quatre"
echo $Truc;

Donne :

UnDeuxTroisQuatre

Coller ainsi des chaînes l'une à l'autre porte le nom de "Concaténation".

On peut également directement utiliser le point dans l'instruction "echo".

Attention à la concaténation utilisée avec des calculs :

echo 2+3."Chaise";

Donne une erreur. Il faut ajouter des parenthèses :

echo (2+3)."Chaise";

+

On ne peut pas, contrairement à d'autres langages, confondre l'opérateur . et + :

echo "a"+"b"."<br/>";
echo "3"+"a"."<br/>";
echo "3"+"2"."<br/>";
echo 3+2;
0
3
5
5

En effet, "a" + "a" ne donne pas "aa" mais 0.

On peut utiliser l'opérateur ++ ou += comme en C

$Truc=2;
$Truc++;
echo $Truc."<br/>";// 3
$Truc+=5;
echo $Truc; // 3 + 5 = 8

Multiplication ( * )

Il est possible de manipuler de très grands nombres sans erreur, mais à partir d'une certaine taille, une approximation en notation scientifique s'impose d'elle-même :

echo 1000997132132123121321233312121221389*4132231312312312312312323214;
4.1363516929312E+63

Division ( / )

La division par 0 renvoie une erreur :

echo 5/0;
Warning: Division by zero in /home/www/a275bc5fe12d221c365dd2a137067c37/web/test/apprendphp.php on line 11
Certains langages permettent la division entière avec \ mais pas PHP.

Modulo : %

Détermination s'il s'agit d'un nombre pair

$nombre = 33;
if ($nombre % 2 == 0)
echo "$nombre est un nombre pair"; else echo "$nombre est un nombre impair";
33 est un nombre impair

Comparaison binaire

Tableau de rappel binaire de quelques nombres :

0: 0
1: 1
2: 10
3: 11
4: 100
5: 101
6: 110
7: 111
8: 1000

Conversion binaire-décimale

La fonction decbin permet de convertir un nombre en binaire :

echo decbin(6);
110

A l'inverse, bindec convertir un nombre binaire en décimal :

echo bindec(101);
5

ET (&)

On peut ainsi faire une opération ET avec &. Je rappelle que

0 ET 0 = 0
1 ET 0 = 0
0 ET 1 = 0
et c'est seulement
1 ET 1 = 1


  101010 (42)
& 000111 (7)
= 000010 (2)
echo 42 & 7;
2

OU ( | ) - A côté du chiffre 7 sur les claviers QWERTZ

  101010 (42)
| 000111 (7)
101111 (47)
echo 42 | 7;
47

Pour information, "OU EXCLUSIF" se note ^ (Ce qui peut créer une confustion car certains langages utilisent ce signe pour "puissance".

La négation se note ~.