Imprimer ce chapitreImprimer ce chapitre

Syntaxe de base PHP

6 Les variables

6.1 Le types numériques

Les types entier et décimal (nombre à virgule) sont les deux types numériques disponibles en PHP.

Le type entier permet la manipulation de valeurs numériques entières. Les entiers sont par défaut spécifiés en notation décimale (base 10). Les notations octale (faire précédez le nombre d'un zéro) et hexadécimale (faire précédez le nombre de 0x) sont également disponibles.

Exemple 1

<?php

$age=25;

$numero=1234;

$octus=012; //entier en base 8

$hexus=0xA; //entier en base 16

echo "age=$age,num=$numero, octus=$octus, hexus=$hexus";

?>

Le type décimal permet la manipulation de valeurs numériques décimales. Une notation classique et une notation exponentielle sont disponibles pour representer les valeurs décimales.

Exemple 2

<?php

$longueur=253.32; //notation classique

$largeur=25.332e1;  //notation exponentielle

$hauteur=25332E-2; //notation exponentielle

echo "long=$largeur,largeur=$largeur, hauteur=$hauteur";

?>

Les opérateurs arithmétiques

Le tableau suivant liste les opérateurs arithmétiques disponibles.

Opérateur

Exemple

Description

négation

-$a

Opérateur unaire négation

addition

$a + $b

Opérateur binaire addition

soustraction

$a -$b

Opérateur binaire soustraction

multiplication

$a * $b

Opérateur binaire multiplication

division

$a / $b

Opérateur binaire division

modulo

$a % $b

Opérateur binaire reste division

Les opérateurs d'assignation

Ils permettent d'assigner à une variable une valeur. L'opérateur d'assignation la plus simple est l'affectation (=). Il permet d'affecter à une variable* la valeur d'une expression.

Exemple 3

<?php

$longueur=25;

$largeur=20;

$perimetre=($longueur+$largeur)*2;

echo "Le perimetre est de $perimetre metres";

?>

Des opérateurs d'assignation plus complexe existent. Ces opérateurs combinent entre autres les opérateurs arithmétiques classiques (-,+,*,/, %) avec l'opérateur d'assignation simple. Les opérateurs d'assignation complexe sont à utiliser lorsque l'expression à assigner à une variable utilise elle même la valeur initiale de la variable.

Exemple 4

<?php

$longueur=25;

$largeur=20;

$largeur*=$longueur;

echo "La surface est de $largeur metre carree";

?>

Assignation par valeur et par référence

Par défaut PHP assigne les variables par valeur (on a deux variables avec la même valeur). Pour assigner une variable par référence (on a une variable avec deux noms différents) il faut la faire précéder du caractère &.

Exemple 5

<?php

$longueur=25;

$largeur=$longueur;

$longueur=27;

echo "La largeur est $largeur et la longueur est $longueur";

$longueur=25;

$largeur=&$longueur;

$longueur=27;

echo "La largeur est $largeur et la longueur est $longueur";

?>

Les opérateurs de comparaison

Les opérateurs de comparaison permettent de comparer deux valeurs. Le résultat d'une comparaison est de type booléen. Le tableau suivant présente les différents opérateurs de comparaison.

Opérateur

Exemple

Résultat

Description

==

"10"==10

true

égalité si même valeur sans tenir compte du type

===

"10"===10

false

égalité si types et valeurs identiques

<>, !=

"10"!=10

true

différent sans tenir compte du type

!==

"10"!==10

false

différent si valeur ou type différent

>, >=

10 > 12

false

supérieur et supérieur ou égal.

<, <=

10 <= 12

true

inférieur et inférieur ou égal

Les opérateurs d'incrémentation et de décrémentation

Il est possible d'utiliser en PHP les opérateurs d'incrémentation (++) et de décrémentation(--).

Exemple 6

<?php

$longueur=25;

$largeur=$longueur++;

echo "La largeur est $largeur et la longueur est $longueur";

$largueur--;

$largeur=++$longueur;

echo "La largeur est $largeur et la longueur est $longueur";

?>

Les opérateurs bit à bit

Les opérateurs sur les bits sont utilisés pour manipuler les bits d'un entier. Le tableau suivant liste les opérateurs sur les bits disponibles avec $x=2 et $y=3.

Opérateur

Exemple

Résultat

Description

&

$x & $y

2

bit à 1 dans $x et dans $y sont à 1 dans le résultat

|

$x | $y

3

bit à 1 dans $x ou dans $y sont à 1 dans le résultat

^

$x ^ $y

1

bit à 1 dans $x ou dans $y mais pas dans les deux sont à 1 dans le résultat

~

~$x

-3

bit à zéro dans $x sont à 1 dans le résultat

<<

$x << $y

16

décalage de $y bits de $x  vers la gauche en complétant par des zéros.

>>

$x >> $y

0

décalage de $y bits de $x  vers la droite en complétant par des zéros.

Les fonctions mathématiques

PHP dispose de nombreuses fonctions mathématiques qui manipulent et produisent des nombres entiers et décimaux. Le tableau suivant en liste quelques unes avec des exemples d'utilisation.

Fonctions

Exemple

Résultat

Description

abs

abs(-5)

5

valeur absolue d’un nombre

ceil

ceil(2.4)

3

entier supérieur

floor

floor(2.6)

2

entier inférieur

fmod

fmod(7.2,2)

1.2

reste decimal d’une division à résultat entier

max, min

max(10,12.3,1)

12.3

plus grande valeur (utilisation possible d’un tableau).

pow

pow(10,2)

100

puissance d’un nombre

rand

rand(1,9)

3

valeur aléatoire entre un min (0) et un max optionnels

round

round(1.3481,2)

1.35

valeur arrondie avec une précision optionnelle

sqrt

sqrt(9)

3

racine carrée

Remarques

  • Les nombres décimaux ont une précision limitée. Pour plus de précision il est recommandé d'utiliser les fonctions mathématiques de précision (bcadd, bcmul, bcmod, ...) et les fonctions gmp (gmp_add,gmp_mul, gmp_mod,...).

Applications

  1. Dans un repertoire atelier3 à la racine du documentRoot créer pour chaque exemple un fichier php (exemple1.php, exemple2.php, ...).
  2. Créer dans le repertoire atelier3 les fichiers bit.php et math.php pour respectivement tester les opérateurs bit à bit et les fonctions mathématiques.