Seb-Info

Chap 3: PHP et les opérateurs

Chap 3: PHP et les opérateurs

Chap 3: PHP et les opérateurs

Les opérateurs

Opérateurs arithmétiques

Symbole

Définition

+

Addition

Soustraction

/

Division

*

Multiplication

%

Modulo:reste d’une division

++

Incrément

Décrément

Exemples :

[pastacode lang= »php » manual= »%24a%3D4%3B%20%24b%3D8%3B%20%24c%3D%24a%2B%24b%3B%0A%24c%2B%2B%3B%20%24reste%3D%24b%25%24a%3B%0A%24f%3D%24a*(%24b-2)%3B%20Attention%20aux%20priorit%C3%A9s%20des%20op%C3%A9rateurs%0A%24g%3D9%3B%20%24h%3D3%3B%20%24g%2B%3D%24f%3B%20%24g*%3D%24f%3B%0A » message= »exemple 3.1″ highlight= » » provider= »manual »/]

Il y a aussi l’opérateur d’affectation qui est =

Par défaut l’affectation = est une affectation par copie ( les deux variables sont par la suite indépendantes ).

On peut faire une copie par référence en utilisant le signe =&. Dans ce cas les deux variables désignent une même référence.

Exemple :

[pastacode lang= »php » manual= »%24a%3D2%3B%20%24b%3D%26%24a%3B%20%2F%2F%20%24b%20vaut%202%0A%24a%3D4%3B%20%2F%2F%20%24b%20vaut%204%20automatiquement » message= »exemple 3.2″ highlight= » » provider= »manual »/]

Il y a également l’opérateur +=

$compteur += 1;

$compteur = $compteur + 1;

Les autres sur le même principe -=, /=, *=, %=, .=

Opérateurs de comparaison

Symbole

Définition

==

Egal

<

Inférieur strict

>

Supérieur strict

<=

Inférieur ou égal

>=

Supérieur ou égal

!=

Différent

Ces opérateurs de comparaison sont utilisés lors de construction par exemple avec if().

Opérateurs logiques

Ils seront nécessaires afin de combiner plusieurs conditions.

[pastacode lang= »php » manual= »if%20(%24heures%20%3E%2012%20%26%26%20%24heures%20%3C%2014)%20aller_manger()%3B » message= »exemple 3.3″ highlight= » » provider= »manual »/]

Les opérateurs logiques fonctionnent avec des valeurs booléennes.

Incrémentation et décrémentation de variable

pour ajouter 1 à un variable et donc l’incrémenter :

[pastacode lang= »php » manual= »%2B%2B%24x%3B » message= »exemple 3.4″ highlight= » » provider= »manual »/]

Pour décrémenter :

[pastacode lang= »php » manual= »–%24y%3B » message= »exemple 3.5″ highlight= » » provider= »manual »/]

Concaténation de chaines

Concaténer c’est ajout à la suite de quelque chose. On l’utilise pour les chaines de caractères et cela revient à les assembler comme les wagons d’un train.

L’opérateur de concaténation est : .

[pastacode lang= »php » manual= »echo%20%22Vous%20avez%20%22%20.%20%24nbrmessage%20.%20%22%20messages.%22%3B » message= »exemple 3.6″ highlight= » » provider= »manual »/]

PHP va afficher la première chaine suivi de la valeur de la variable et suivi de la dernière chaine de caractères.

Différence entre ‘ et “

PHP fait la différence entre :

[pastacode lang= »php » manual= »%24info%20%3D%20%C2%A0’Voici%20les%20variables%20utilis%C3%A9es%20%24age%20et%20%24poids’%3B » message= » » highlight= » » provider= »manual »/]

 

et

[pastacode lang= »php » manual= »%24info%20%3D%20%C2%A0%22Voici%20les%20variables%20utilis%C3%A9es%20%24age%20et%20%24poids%22%3B » message= » » highlight= » » provider= »manual »/]

Dans le premier cas il n’essaye pas d’évaluer $age et $poids et assimile tout à du texte.

Dans le deuxième cas il va rechercher la valeur de $age et $poids.

Astuce :

En utilisant les ″ vous pouvez inclure des variables sans avoir recourt à la concaténation.

Il reste un problème su votre chaine contient ‘.

Par exemple :

[pastacode lang= »php » manual= »%24texte%20%3D%20’Bonjour%20!%20c’est%20super%20sympa%20de%20m’inviter’%3B » message= » » highlight= » » provider= »manual »/]

Dans ce cas $texte contient Bonjour ! c

Et provoque donc une erreur de syntaxe pour ce qui suit. La solution est le caractère d’échappement \.

On écrira :

[pastacode lang= »php » manual= »%24texte%20%3D%20’Bonjour%20!%20c%5C’est%20super%20sympa%20de%20m%5C’inviter’%3B » message= » » highlight= » » provider= »manual »/]

On peut utiliser ce caractère d’échappement pour d’autres situations.

Fonctions

Nous reviendrons plus longuement sur les fonctions mais en quelques mots la fonction réalise une tâche. C’est une portion de code qu’on peut appeler et lui passant des paramètres si besoin.

Cela permet une factorisation du code et une meilleure lisibilité.

[pastacode lang= »php » manual= »%3C%3Fphp%0Afunction%20paire(%24nbr)%0A%7B%0A%09if%20(%24nbr%252)%0A%09%09return%20%22Impair%22%3B%0A%09else%0A%09%09return%20%22Pair%22%3B%0A%7D%0A%0Aecho%20paire(2)%3B%0A%3F%3E » message= »exemple 3.7″ highlight= » » provider= »manual »/]


 

EXERCICES

Exercice 3.1 :

Donner les valeurs de $x, $y, $z à la fin du script suivant :

[pastacode lang= »php » manual= »%24x%3D%22PostgreSQL%22%3B%0A%24y%3D%22MySQL%22%3B%0A%24z%3D%26%24x%3B%0A%24x%3D%22PHP%205%22%3B%0A%24y%3D%26%24x%3B » message= » » highlight= » » provider= »manual »/]

Correction :

les variables $x, $y et $z valent toutes PHP 5

Exercice 3.2 :

Donner la valeur booléenne des variables $a, $b, $c, $d, $e et $f :

[pastacode lang= »php » manual= »%24a%3D%220%22%3B%0A%24b%3D%22TRUE%22%3B%0A%24c%3DFALSE%3B%0A%24d%3D(%24a%20OR%20%24b)%3B%0A%24e%3D(%24a%20AND%20%24c)%3B%0A%24f%3D(%24a%20XOR%20%24b)%3B » message= » » highlight= » » provider= »manual »/]

Correction :

Cet exercice est assez facile il suffit d’utiliser la fonction bool() afin de connaître la valeur.

Cependant même dans sa dernière version, PHP continue à afficher 1 pour TRUE et rien (une chaîne vide !) pour FALSE. Pour réaliser l’évaluation booléenne des variables et afficher le résultat en clair (avec les mots TRUE ou FALSE) nous pouvons écrire le code suivant :

[pastacode lang= »php » manual= »%3C%3Fphp%0Afunction%20bool(%24val)%0A%7B%0A%09if(%24val)%20echo%20%22TRUE%20%3Cbr%20%2F%3E%22%3B%0A%09else%20echo%20%22FALSE%20%3Cbr%20%2F%3E%22%3B%0A%7D%0A%0A%24a%3D%220%22%3B%0Aecho%20%22%5C%24a%20vaut%20%3A%20%22%2Cbool(%24a)%3B%0A%24b%3D%22TRUE%22%3B%0Aecho%20%22%5C%24b%20vaut%20%3A%20%22%2Cbool(%24b)%3B%0A%24c%3DFALSE%3B%0Aecho%20%22%5C%24c%20vaut%20%3A%20%22%2Cbool(%24c)%3B%0A%24d%3D(%24a%20OR%20%24b)%3B%0Aecho%20%22%5C%24d%20vaut%20%3A%20%22%2Cbool(%24d)%3B%0A%24e%3D(%24a%20AND%20%24c)%3B%0Aecho%20%22%5C%24e%20vaut%20%3A%20%22%2Cbool(%24e)%3B%0A%24f%3D(%24a%20XOR%20%24b)%3B%0Aecho%20%22%5C%24f%20vaut%20%3A%20%22%2Cbool(%24f)%3B%0A%3F%3E » message= »Correction de l’exercice 3.2″ highlight= » » provider= »manual »/]

 


Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.

Connexion pour les utilisateurs enregistrés
   
Nouvel utilisateur ?
*Champ requis
Powered by WP-Members