com doc/fr: Apply commit bcd666c7d0027d2ea13b5051d39e8cf48e338d27: language/operators.xml
[email protected] (George Peter Banyard) Wed, 17 Mar 2021 15:02:49 +0000
| Newsgroups | php.doc.fr |
|---|---|
| Message-ID | <[email protected]> |
Commit: 29ec44050593d09d727873353c45bb5046b3ba4f Author: George Peter Banyard <[email protected]> Wed, 17 Mar 2021 15:02:49 +0000 Parents: 25ab69b5d2a2ce3ec767d7013796546fe81e7bac Branches: master Link: http://git.php.net/?p=doc/fr.git;a=commitdiff;h=29ec44050593d09d727873353c45bb5046b3ba4f Log: Apply commit bcd666c7d0027d2ea13b5051d39e8cf48e338d27 Fix ternary precedence Changed paths: M language/operators.xml Diff: diff --git a/language/operators.xml b/language/operators.xml index b44961aa30..a611b8320a 100644 --- a/language/operators.xml +++ b/language/operators.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 12b1d4704ea448b55ec155619be1e50c0e67e9f9 Maintainer: yannick Status: ready --> +<!-- EN-Revision: bcd666c7d0027d2ea13b5051d39e8cf48e338d27 Maintainer: yannick Status: ready --> <!-- Reviewed: no --> <!-- CREDITS: DAnnebicque --> <chapter xml:id="language.operators" xmlns="http://docbook.org/ns/docbook"> @@ -228,7 +228,7 @@ </entry> </row> <row> - <entry>gauche</entry> + <entry>(n/a)</entry> <entry><literal>? :</literal></entry> <entry> <link linkend="language.operators.comparison.ternary">ternaire</link> @@ -374,6 +374,36 @@ x moins un est égal 3, en tout cas j'espère sera placé dans la variable <varname>$a</varname>. </para> </note> + <sect2 role="changelog"> + &reftitle.changelog; + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>&Version;</entry> + <entry>&Description;</entry> + </row> + </thead> + <tbody> + <row> + <entry>8.0.0</entry> + <entry> + L'opérateur ternaire (<literal>? :</literal>) est désormais non-associatif ; + auparavant il était gauche-associatif. + </entry> + </row> + <row> + <entry>7.4.0</entry> + <entry> + Dépendre de la gauche-associativité de l'opérateur ternaire (<literal>? :</literal>), + c.à.d. l'imbrication de plusieurs opérateur ternaire qui ne sont pas + entre parenthèse, est obsolète. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> </sect1> <sect1 xml:id="language.operators.arithmetic"> @@ -1805,19 +1835,21 @@ if (empty($_POST['action'])) { <note> <para> Il est recommandé de ne pas "empiler" les expressions ternaires. - Le comportement de PHP lors de l'utilisation de plus d'un opérateur - ternaire dans une seule instruction n'est pas évident comparé à d'autres - langages. - En effet, antérieur à PHP 8.0.0, les expressions ternaires étaient évaluées - de gauche à droite, au lieu de droite à gauche comme la plupart des autres - langages de programmation. + Le comportement de PHP lors de l'utilisation de plusieurs opérateur + ternaire qui ne sont pas entre parenthèse en une unique expression est + non-évident comparé à d'autres langages. + En effet antérieur à PHP 8.0.0, l'expression ternaire était évalué + gauche-associatif, au lieu de droite-associatif comme la plupart des + autres langages de programmations. + Dépendre de la gauche associativité est obsolète à partir de PHP 7.4.0. + À partir de PHP 8.0.0, l'opérateur ternaire est non-associatif. <example> <title>Comportement de PHP</title> <programlisting role="php"> <![CDATA[ <?php // A première vue, ce qui suit devrait retourner 'true' -echo (true?'true':false?'t':'f'); +echo (true ? 'true' : false ? 't' : 'f'); // cependant, l'expression ci-dessus retournera 't' antérieur à PHP 8.0.0 // car l'expression ternaire est évaluée de gauche à droite