Bonjour,
Lorsque j'écris du code, je confirme ou je définis toujours les priorités par des parenthèses mais lorsque j'analyse un code existant, j'ai plus de doutes.
Dans le tableau du manuel PHP, je lis:
Ce que je n'arrive pas à déterminer c'est si la priorité logique (académique) l'emporte sur la priorité par rapport à l'ordre d'écriture. Il semblerait que ce soit le cas d'après:gauche && logique
gauche || logiquePour être concret, dans cet exemple: $this->required == self::REQUIRE_ALL or $this->required == self::REQUIRE_YES and $i == 0,La priorité des opérateurs spécifie l'ordre dans lequel les valeurs doivent être analysées. Par exemple, dans l'expression 1 + 5 * 3, le résultat est 16 et non 18, car la multiplication ("*") a une priorité supérieure par rapport à l'addition ("+"). Des parenthèses peuvent être utilisées pour forcer la priorité, si nécessaire. Par exemple : (1 + 5) * 3 donnera 18.
est-ce que je dois lire $this->required == self::REQUIRE_ALL or ($this->required == self::REQUIRE_YES and $i == 0) (and prioritaire) ou
($this->required == self::REQUIRE_ALL or $this->required == self::REQUIRE_YES) and $i == 0 (gauche prioritaire)
Partager