Les opérations =============== L'affectation ------------- * Opérateur : = * Renvoie la valeur affectée * Affectations en chaînes possibles .. code-block:: php Variables sont indépendantes * Affectation par référence : =& => Variables sont liées Pour effacer une référence, on peut utiliser la fonction unset( $var ) sur la variable. Le lien entre le nom et la valeur sont alors effacés, mais les autres nom utilisant la même valeur ne sont pas affectés. Cet exemple permet de tester quelques cas de conversions. Demandez-vous ce que peut bien afficher ce script. .. literalinclude:: file/affectation.php :language: php Les opérations arithmétiques ----------------------------- * Opérateurs classiques : +, -, *, /, % * Opérateurs post/pre incrémentation/décrémentation : ++, -- * Opérateurs combinés : +=, -=, *= … Les opérateurs de post-incrémentation et de pré-incrémentation, ou de post-décrémentation et de pré-décrémentation, permettent d’économiser des lignes. En pré-incrémentation, les opérateurs sont devant la variable. La variable est incrémentée, puis évaluée (++$a). En post-incrémentation, les opérateurs sont derrière la variable. La variable est évaluée, puis incrémentée ($a++). En fait, $a++ équivaut à $a = $a +1 et $a-- équivaut à $a = $a – 1. Cet exemple permet de tester quelques cas de conversions. Demandez-vous ce que peut bien afficher ce script. .. literalinclude:: file/arithmetique.php :language: php La concaténation ---------------- * Opérateur : . * Opérateur combiné : .= L’opération de concaténation est très souvent utilisée en PHP. .. literalinclude:: file/concatenation.php :language: php Les opérations de comparaison ----------------------------- * Opérateurs classiques : ==, <, >, <=, >=, !=, * Opérateurs de type : ===, !== L’opérateur = = = permet de tester l’égalité en type et en valeur. $a === $b renvoie TRUE si $a est égal à $b et si les deux variables ont le même type. Inversement, l’opérateur ! = = teste la différence en valeur ou en type. $a !== $b renvoie TRUE si $a a une valeur différente de celle de $b OU si $a n’a pas le même type que $b. Dans notre exemple, $a == $b donnera TRUE, tandis que $a === $b donnera FALSE. .. literalinclude:: file/comparateur.php :language: php Les opérations logiques ------------------------ * Opérateurs : !, &&, ||, AND, OR, XOR Il y a des opérateurs identiques : || est le même que OR && est le même quand AND La seule différence entre ces opérateurs réside dans les priorités d’applications. OR et AND ont une priorité faible, alors que && et || ont une priorité forte. « ! » est l’opérateur logique « non » (not); « XOR » est l’opérateur logique « ou exclusif » : une seule des opérandes peut être vraie, l’autre pas. .. literalinclude:: file/logique.php :language: php La priorité des opérations --------------------------- .. list-table:: Exemple de tableau :widths: 10 10 :header-rows: 1 :stub-columns: 1 * - N° - type * - 1 - new * - 2 - () et [] * - 3 - -- ++ et ! * - 4 - ~ - (int) (float) (string) (array) (object) @ * - 5 - instanceof * - 6 - \* / et % * - 7 - \+ - et . * - 8 - << et >> * - 9 - < <= et >= > * - 10 - == != et === * - 11 - & * - 12 - ^ * - 13 - \| * - 14 - && * - 15 - || * - 16 - ? et : * - 17 - Affectation et opérateurs combinés * - 18 - AND * - 19 - XOR * - 20 - OR