Les expressions
 
  Les expressions sont les pièces de construction les plus importants de PHP.
  En PHP, presque tout ce que vous écrivez est une expression. La manière la
  plus simple de définir une expression est : "tout ce qui a une valeur".
 
 
  Les formes les plus simples d'expressions sont les constantes et les variables.
  Lorsque vous écrivez $a = 5, vous assignez la valeur 5
  à la variable $a. Bien évidemment, 5 vaut 5 ou,
  en d'autres termes, 5 est une expression avec pour valeur 5
  (dans ce cas, 5 est un entier constant).
 
 
  Après cette assignation, vous pouvez considérer que $a
  a pour valeur 5 et donc, écrire $b = $a, revient à écrire
  $b = 5. En d'autres termes, $a est une
  expression avec une valeur de 5. Si tout fonctionne correctement,
  c'est exactement ce qui arrive.
 
 
  Un exemple plus complexe concerne les fonctions. Par exemple, 
  considérons la fonction suivante :
  
 
 
  En supposant que vous êtes familiers avec le concept de fonction,
  (si ce n'est pas le cas, jetez un oil au chapitre concernant les
  fonctions),
  vous serez d'accord que $c = foo() est équivalent
  à $c = 5, et
  vous aurez tout à fait raison. Les fonctions sont des expressions qui
  ont la valeur de leur "valeur de retour". Si foo()
  renvoie 5, la valeur de l'expression foo() est 5.
  Habituellement, les fonctions ne font pas que
  renvoyer une valeur constante, mais réalisent des traitements.
 
 
  Bien sûr, les valeurs en PHP n'ont pas à être des
  valeurs numériques, comme c'est souvent le cas. PHP supporte quatre
  types de variables scalaires : les valeurs entières (entier), les nombres
  à virgule flottante (float), les chaînes de caractères
  (chaîne de caractères) et les booléens (bool).
  (une variable scalaire est une variable que vous ne pouvez pas scinder en
  morceaux, au contraire des tableaux par exemple). PHP supporte aussi deux
  types composés : les tableaux et les objets. Chacun de ces types
  de variables peut être affecté ou renvoyé par une
  fonction.
 
 
  PHP va plus loin dans la gestion des expressions, comme le font d'autres
  langages. PHP est un langage orienté expression, dans le sens où
  presque tout est une expression. Considérons l'exemple dont nous avons
  déjà parlé, $a = 5. Il est facile de voir qu'il y a
  deux valeurs qui entrent en jeu ici, la valeur numérique constante $a = 5
  et la valeur de la variable $a qui est mise à jour à la
  valeur 5. Mais, la vérité est qu'il y a une autre valeur qui entre en jeu
  ici et c'est la valeur de l'assignation elle-même. L'assignation elle-même
  est assignée à une valeur, dans ce cas-là 5. En pratique,
  cela signifie que $a = 5 est une expression qui a pour
  valeur 5. Donc, écrire $b = ($a = 5)
  revient à écrire $b = ($a = 5)
  (un point virgule marque la fin d'une instruction). Comme les assignations
  sont analysées de droite à gauche, vous pouvez aussi bien écrire
  $b = $a = 5.
 
 
  Un autre bon exemple du langage orienté expression est la
  pre-incrémentation et la post-incrémentation, (ainsi que
  la décrémentation). Les utilisateurs de PHP
  et ceux de nombreux autres langages sont habitués à
  la notation variable++ et
  variable--.
  Ce sont les opérateurs
  d'incrémentation et de décrémentation. PHP
  ajoute les possibilités d'incrémentation et de décrémentation
  comme c'est le cas dans le langage C. En PHP, comme en C, il y a deux
  types d'opérateurs d'incrémentation (pre-incrémentation et
  post-incrémentation). Les deux types d'opérateur
  d'incrémentation jouent le même rôle (c'est-à-dire qu'ils
  incrémentent la variable). La différence vient de la valeur de
  l'opérateur d'incrémentation. L'opérateur de
  pre-incrémentation, qui s'écrit ++$variable, évalue
  la valeur incrémentée (PHP incrémente la variable
  avant de lire la valeur de cette variable, d'où le nom de
  pre-incrémentation). L'opérateur de post-incrémentation,
  qui s'écrit $variable++ , évalue la valeur de la
  variable $variable avant de l'incrémenter (PHP incrémente la variable après
  avoir lu sa valeur, d'où le nom de post-incrémentation).
 
 
  Un type d'expression très commun est l'expression de comparaison. Ces
  expressions sont évaluées à 0 ou 1, autrement dit false ou true,
  respectivement. PHP supporte les opérateurs de comparaison > (plus
  grand que), =>  (plus grand ou égal), == (égal à), < (plus petit que),
  <= (plus petit ou égal). Ces expressions sont
  utilisées de manière courante dans les instructions conditionnelles, comme
  l'instruction if.
 
 
  Pour le dernier exemple d'expression, nous allons parler des combinaisons
  d'opérateurs/assignation. Vous savez que si vous voulez incrémenter la
  variable $a d'une unité, vous devez simplement écrire
  $a++ ou ++$a.
  Mais si vous voulez ajouter la valeur 3 à votre
  variable ? Vous pouvez écrire plusieurs fois $a++, mais
  ce n'est pas la meilleure des méthodes. Un pratique plus courante est
  d'écrire $a = $a + 3. L'expression $a + 3
  correspond à la valeur $a plus 3,
  et est de nouveau assignée à la variable $a.
  Donc, le résultat est l'incrémentation de 3 unités de la variable $a.
  En PHP, comme dans de nombreux autres langages comme le C, vous pouvez écrire cela de manière plus
  concise, manière qui avec le temps se révélera plus claire et plus rapide
  à comprendre. Ajouter 3 à la valeur de la variable $a
  peut s'écrire $a += 3. Cela signifie précisément : "on
  prend la valeur de la variable $a, on ajoute la valeur 3
  et on assigne cette valeur à la variable $a". Et pour
  être plus concis et plus clair, cette expression est plus rapide. La valeur
  de l'expression $a += 3, comme l'assignation d'une
  valeur quelconque, est la valeur assignée. Il est à noter que ce n'est pas 3,
  mais la combinaison de la valeur de la variable $a plus
  la valeur 3. (c'est la valeur qui est assignée à la variable
  $a). N'importe quel opérateur binaire
  peut utiliser ce type d'assignation, par exemple $a -= 5
  (soustraction de 5 de la valeur de la variable $a),
  $b *= 7 (multiplication de la valeur de la variable
  $b par 7).
 
 
  Il y a une autre expression qui peut paraître complexe si vous ne l'avez pas
  vue dans d'autres langages, l'opérateur conditionnel ternaire :
 
 
  
 
 
  Si la valeur de la première sous-expression est vraie (true)
  (différente de 0), alors la deuxième sous-expression est
  évaluée et constitue le résultat de l'expression
  conditionnelle. Sinon, c'est la troisième sous-expression qui est
  évaluée et qui constitue le résultat de l'expression.
 
 
  Les exemples suivants devraient vous permettre de mieux comprendre 
  la pre-incrémentation, la post-incrémentation
  et le concept des expressions en général :
 
 
  
 
 
  Au début de ce chapitre, nous avons dit que nous allions décrire les
  différents types d'instructions, et donc, comme promis, nous allons voir que
  les expressions peuvent être des instructions. Mais attention, toutes les
  expressions ne sont pas des instructions. Dans ce cas-là, une instruction
  est de la forme 'expr ;', c'est-à-dire, une expression
  suivie par un point-virgule.
  Dans $b = $a = 5;, $a = 5 est une expression valide,
  mais ce n'est pas une instruction en elle-même.
  $b = $a = 5; est une instruction valide.
 
 
  La dernière chose qui mérite d'être mentionnée est
  la véritable valeur des expressions. Lorsque vous faites des tests
  sur une variable, dans une boucle conditionnelle par exemple, cela ne vous
  intéresse pas de savoir quelle est la valeur exacte de l'expression.
  Mais vous voulez seulement savoir si le résultat signifie true ou false
  
  Les constantes true et false (insensible à la casse) sont les deux
  valeurs possibles pour un booléen. Lorsque nécessaire, une expression
  est automatiquement convertie en booléen. Lisez la
  section sur le transtypage
  pour plus de détails.
 
 
  PHP propose une implémentation complète et détaillée des expressions.
  PHP documente toutes ses expressions dans le manuel que vous êtes
  en train de lire. Les exemples qui vont suivre devraient vous donner une
  bonne idée de ce qu'est une expression et comment construire vos propres
  expressions. Dans tout ce qui va suivre, nous écrirons
  expr pour indiquer toute expression PHP valide.