Rechercher une fonction PHP

Opérateurs d'incrémentation et décrémentation

PHP supporte les opérateurs de pre- et post-incrémentation et décrémentation, comme en langage C.

Note: Les opérateurs d'incrémentation/décrémentation n'affectent que les nombres et les chaînes de caractères. Les tableaux, objets et ressources ne sont pas affectés. La décrémentation des valeurs NULL n'a également aucun effet, mais leur incrémentation donnera comme résultat 1.

Opérateurs d'incrémentation et décrémentation
Exemple Nom Résultat
++$a Pre-incrémente Incrémente $a de 1, puis retourne $a.
$a++ Post-incrémente Retourne $a, puis incrémente $a de 1.
--$a Pré-décrémente Décrémente $a de 1, puis retourne $a.
$a-- Post-décrémente Retourne $a, puis décrémente $a de 1.

Voici un exemple simple :

<?php
echo '<h3>Post-incrémentation</h3>';
$a 5;
echo 
"Devrait valoir  5: " $a++ . "<br />\n";
echo 
"Devrait valoir  6: " $a "<br />\n";
echo 
'<h3>Pre-incrémentation</h3>';
$a 5;
echo 
"Devrait valoir  6: " . ++$a "<br />\n";
echo 
"Devrait valoir  6: " $a "<br />\n";
echo 
'<h3>Post-décrémentation</h3>';
$a 5;
echo 
"Devrait valoir  5: " $a-- . "<br />\n";
echo 
"Devrait valoir  4: " $a "<br />\n";
echo 
'<h3>Pre-décrémentation</h3>';
$a 5;
echo 
"Devrait valoir  4: " . --$a "<br />\n";
echo 
"Devrait valoir  4: " $a "<br />\n";
?>

PHP suit les conventions de Perl pour la gestion des opérateurs arithmétiques sur les variables de caractères et non pas celle du C. Par exemple, en PHP et en Perl, $a = 'Z'; $a++; transforme $a en 'AA', alors qu'en C, a = 'Z'; a++; transforme a en '[' (la valeur ASCII de 'Z' est 90, la valeur ASCII de '[' est 91). Notez que les variables de caractères peuvent être incrémentées mais pas décrémentées, mais aussi que seuls les caractères ASCII pleins et les chiffres (a-z, A-Z et 0-9) sont supportés. L'incrémentation/décrémentation d'autres variables de caractères n'a aucun effet, la chaîne originale n'est pas modifiée.

Exemple #1 Opérations arithmétiques sur un caractère

<?php
echo '== Alphabets ==' PHP_EOL;
$s 'W';
for (
$n=0$n<6$n++) {
    echo ++
$s PHP_EOL;
}
// Les caractères digitaux réagissent différemment
echo '== Caractères digitaux ==' PHP_EOL;
$d 'A8';
for (
$n=0$n<6$n++) {
    echo ++
$d PHP_EOL;
}
$d 'A08';
for (
$n=0$n<6$n++) {
    echo ++
$d PHP_EOL;
}
?>

L'exemple ci-dessus va afficher :

== Alphabets ==
X
Y
Z
AA
AB
AC
== Caractères digitaux ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14

L'incrémentation ou la décrémentation d'un booléen n'a aucun effet.

Rechercher une fonction PHP

Version en cache

21/11/2024 22:23:25 Cette version de la page est en cache (à la date du 21/11/2024 22:23:25) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-language.operators.increment.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut