Cours PHP La notion d’expression

Cours PHP

La notion d’expression

En PHP, une expression peut être résumée en « tout ce qui a une valeur ». Ceci dit, on remarque vite que en PHP tout ou presque est une expression. Une variable ou une constante se voient affectés des valeurs. Cette valeur est donc l’expression de la variable ou de la constante.
Nous pouvons résumer en disant qu’une expression représente tout ce qui peut être évalué. On ne peut évaluer que les valeurs…
Une fonction peut aussi être une expression si elle retourne une valeur. On dit généralement qu’une fonction a retourné telle valeur. Une comparaison est aussi une expression : elle retourne une valeur booléenne. Un calcul est aussi une expression, puisqu’une valeur est retournée, affectée, calculée.
PHP est orienté expression ce qui fait que tout ou presque en PHP est une expression. PHP cherche donc à décomposer tout ce qui est possible en expressions à évaluer, pour optimiser ses traitements. Voici quelques exemples. $a=2; On distingue au premier coup d’oeil deux valeurs : la variable $a et la valeur 2, la variable $a étant mise à jour avec la valeur 2. Or en interne il y a une troisième valeur qui rentre en jeu: la valeur de l’assignation, ici elle-même assignée à 2. Cette ligne signifie en fait : « $a=2 est une expression qui vaut 2 ». $b=$a=2; Les assignations sont analysées de droite à gauche. Ici nous avons l’expression $a=2 qui vaut donc 2. $b vaut donc 2 aussi. C’est plus rapide à écrire et à exécuter que $a=2; $b=2; $a=$a+3; PHP évalue d’abord l’expression $a+3 soit la valeur de $a incrémentée de 3, et assigne la nouvelle valeur à $a. $a+=3; Le résultat est le même, mais il est plus rapide car $a n’est évalué qu’une seule fois. On peut en arriver à avoir des expressions surprenantes : $a=2; $b=$a+=3; La variable $a est incrémentée de 3 et vaut donc 5. L’expression $a+=3 vaut 5. $b se voit assigné la valeur 5. L’expression vaut donc 5.
Dernière chose : $a?$b:$c si l’expression $a est vrai, l’expression $b est évaluée, sinon l’expression $c est évaluée.
$a=TRUE; $b=2;$c=3; echo $a?$b:$c; // affiche 2
Les structures de contrôle 6.1 if if(expression) commande ou { bloc de commandes } else commande ou { bloc de commandes } Il y a aussi le « elseif », combinaison du if et du else. Le elseif en un mot peut aussi s’écrire en deux mots : le résultat est le même. On peut écrire des elseif en chaîne. Le premier dont l’expression est vrai est exécuté. If(expression) commande ou { bloc de commandes } elsif(expression) commande ou { bloc de commandes } elsif(expression) commande ou { bloc de commandes } … On peut placer du HTML comme commande ou dans le bloc de commande. A = 5 On peut aussi utiliser une syntaxe alternative : on ouvre le bloc (juste après le if, le else ou le elseif) avec les « : » deux points, et on ferme l’instruction avec « endif »

while

while classique
C’est la boucle « tant que » simple : tant que la condition n’est pas vraie, on continue la boucle. L’expression est placée en début de boucle : si l’expression est fausse avant de rentrer dans la boucle, la boucle n’est pas exécutée. While(expression) commande ou { bloc de commandes } On peut aussi utiliser la syntaxe alternative : while(expression): commande ou { bloc de commandes } endwhile

do … while
C’est la seconde possibilité. Dans ce cas la commande ou le bloc de commande est exécutée au moins une fois, car l’expression conditionnelle est testée en fin de boucle. do { bloc de commandes } while(expression)

for
Le « for » du PHP est identique au « for » du C. for(expr1;expr2;expr3) commande ou { bloc de commandes } « expr1 » est exécutée à la première entrée dans la boucle. « expr2 » est exécutée à chaque début d’itération jusqu’à ce que l’expression soit fausse auquel cas on sort de la boucle. « expr3 » est exécutée à la fin de l’itération.
L’usage habituel d’une telle boucle est de placer l’état initial en expr1, la condition de sortie en expr2 et le calcul en expr3. Mais on peu effectuer toutes sortes de choses. // de 1 à 10 for ($i = 1; $i <= 10; print $i, $i++) // infini for(;;) // de 1 à 10 for ($i = 1; $i <= 10; print $i, $i++) ; On peut employer une syntaxe alternative avec le « : » et « endfor ». for(expr1;expr2;expr3): commande ou { bloc de commandes } endfor

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *