Index: phpdoc/fr/language/expressions.xml diff -u phpdoc/fr/language/expressions.xml:1.4 phpdoc/fr/language/expressions.xml:1.5 --- phpdoc/fr/language/expressions.xml:1.4 Sat Jul 7 18:22:34 2001 +++ phpdoc/fr/language/expressions.xml Sun Oct 28 11:43:09 2001 @@ -1,25 +1,27 @@ + + Les expressions - Les expressions sont la partie la plus importante du 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 expressions sont la partie la plus importante du 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 expresssion - avec pour valeur 5 (dans ce cas, '5' est un intier constant). + 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 de valeur 5. Si tout fonctionne correctement, c'est exactement - ce qui arrive. + 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 : + Un exemple plus complexe concerne les fonctions. Par exemple, considérons + la fonction suivante : <?php @@ -31,101 +33,111 @@ - Considérant que vous êtes familier avec le concept de fonction, (si ce n'est pas - le cas, jetez un oeil 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 sur, les valeurs en PHP n'ont pas à être des valeurs numériques, comme - c'est souvent le cas. PHP supporte 3 types de variables scalaires : les valeurs - entières, les nombres à virgule flottante et les chaînes de caractères. - (une variable scalaire est une variable que vous ne pouvez pas scinder en - morceau, au contraire des tableaux par exemple). PHP supporte aussi deux types - composés : les tableaux et les objets. Chacun de ces types de variables peuvent - être affectés ou renvoyés par une fonction. - - - Les utilisateurs de PHP/FI 2 ne verront aucun changement. Malgré tout, 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 que il y a deux valeurs qui entrent en jeux ici, la valeur - numérique constante '5' et la valeur de la variable $a qui est mis à 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'assignement elle-même. L'assignement lui-même est assigné - à une valeur, dans ce cas-là 5. En pratique, cela signifie que '$a = 5' est une - expression qui a pour valeur 5. Donc, en écrire '$b = ($a = 5)' revient à écrire - '$a = 5; $b = 5;' (un point virgule marque la fin d'une instruction). Comme les - assignements sont analysés de droite à gauche, vous pouvez aussi bien écrire - '$b = $a = 5'. - - - Un autre bon exemple du langage orienté expression est la pré-incrémentation et - la post-incrémentation, (ainsi que la décrémentation). Les utilisateurs de PHP/FI 2 - 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. - En PHP/FI 2, l'instruction '$a++' n'a aucune valeur (c'est-à-dire que ce n'est pas - une expression) et vous ne pouvez donc pas l'utiliser. 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 (pré-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'il incrémente la variable). - La différence vient de la valeur de l'opérateur d'incrémentation. L'opérateur de - pré-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 'pré-incrémentation'). L'opérateur de post-incrémentation, qui s'écrit - '$variable++', évalue la valeur de la 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. + Considérant que vous êtes familier avec le concept de fonction, + (si ce n'est pas le cas, jetez un oeil 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 3 + types de variables scalaires : les valeurs entières, les nombres + à virgule flottante et les chaînes de caractères + (une variable scalaire est une variable que vous ne pouvez pas scinder en + morceau, 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. + + + Les utilisateurs de PHP/FI 2 ne verront aucun changement. Malgré tout, + 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 jeux ici, la valeur numérique constante '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 '$a = 5; $b = 5;' + (un point virgule marque la fin d'une instruction). Comme les assignations sont + analysé de droite à gauche, vous pouvez aussi bien écrire + '$b = $a = 5'. + + + Un autre bon exemple du langage orienté expression est la + pré-incrémentation et la post-incrémentation, (ainsi que + la décrémentation). Les utilisateurs de PHP/FI 2 + 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. En PHP/FI 2, + l'instruction '$a++' n'a aucune valeur (c'est-à-dire que ce n'est pas + une expression) et vous ne pouvez donc pas l'utiliser. 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 (pré-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 + pré-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 + 'pré-incrémentation'). L'opérateur de post-incrémentation, + qui s'écrit '$variable++', évalue la valeur de la 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/assignement. Vous savez que si vous voulez incrémenter la variable + d'opérateurs/assignation. Vous savez que si vous voulez incrémenter la variable $a d'une unité, vous devez simplement écrire '$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 + de nouveau assignée à la variable $a. Donc, le résultat est l'incrémentation de 3 unités. 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écisement : "on prend la valeur + 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'assignement d'une valeur + 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 - peu utiliser ce type d'assignement, par exemple '$a -= 5' (soustraction de 5 de + 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 - vu dans d'autre langage, l'opérateur conditionnel ternaire: + vueà-dire dans d'autre langage, l'opérateur conditionnel ternaire: <?php -$first ? $second : $third + $first ? $second : $third ?> - Si la valeur de la première sous-expression est vraie, (différente de 0), alors la - deuxième sous-expression est évaluée et constitue le résultat de l'expression conditonnelle. - Sinon, c'est la troisème sous-expression qui est évaluée et qui constitue le - résultat de l'expression. + Si la valeur de la première sous-expression est vraie + (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 troisè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 pré- et post- @@ -136,6 +148,7 @@ function double($i) { return $i*2; } + $b = $a = 5; /* assigne la valeur 5 aux variables $a et $b */ $c = $a++; /* post-incrémentation de la variable $a et assignation de la valeur à la variable $c */ @@ -159,13 +172,14 @@ 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. - L'expression '$b = $a = 5;', '$a = 5' est valide, mais ce n'est pas une instruction en - elle-même. '$b = $a = 5' est une instruction valide. + L'expression '$b = $a = 5;', '$a = 5' est 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 faîtes des tests sur - une variable, dans une boucle conditionnelle par exemple, cela ne vous + 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 qu'elle est la valeur exacte de l'expression. Mais vous voulez seulement savoir si le résultat signifie &true; ou &false; (PHP n'a pas de type booléen). La véritable valeur d'une