Aller au contenu

each()

Introduction

En tant que développeur PHP, il est essentiel de comprendre les différentes fonctions de tableau que PHP propose. L'une de ces fonctions est each(), qui était historiquement utilisée pour itérer sur chaque élément d'un tableau et retourner la paire clé-valeur. Note : each() a été dépréciée dans PHP 7.2 et complètement supprimée dans PHP 8.0. Cet article explique son comportement hérité, sa syntaxe et ses paramètres, et propose des alternatives modernes.

Syntaxe

La syntaxe de la fonction each() est la suivante :

Syntaxe de la fonction Each() en PHP

php
each(array $array): array|false

La fonction each() prend un tableau en paramètre et retourne un tableau ou false en cas d'échec.

Paramètres

La fonction each() ne prend qu'un seul paramètre, qui est un tableau. Ce tableau peut être indexé ou associatif. Dans le cas d'un tableau indexé, les clés seront des entiers commençant à 0, et dans le cas d'un tableau associatif, les clés seront celles assignées à chaque élément.

Utilisation

La fonction each() est utilisée pour itérer sur chaque élément d'un tableau et retourner la paire clé-valeur. Cette fonction peut être utilisée avec des tableaux indexés ou associatifs. Chaque appel à each() avance le pointeur interne du tableau. La fonction each() retourne un tableau contenant quatre éléments : les indices numériques 0 et 1 (alias pour la clé et la valeur), et les indices de chaîne key et value.

Voici un exemple d'utilisation de la fonction each() :

Exemple d'utilisation de la fonction each() en PHP

php
<?php
// Legacy PHP 7.x example. This will cause a fatal error in PHP 8.0+.
$array = ["one" => 1, "two" => 2, "three" => 3];

while ($element = each($array)) {
    echo $element['key'] . ' => ' . $element['value'] . '<br>';
}

Dans l'exemple ci-dessus, nous définissons d'abord un tableau associatif contenant trois paires clé-valeur. Ensuite, nous utilisons la fonction each() pour itérer sur chaque élément du tableau et retourner la paire clé-valeur. Enfin, nous utilisons une boucle while pour afficher chaque paire clé-valeur.

Équivalent moderne pour PHP 8+ Puisque each() n'est plus disponible, utilisez foreach pour itérer sur un tableau :

php
<?php
$array = ["one" => 1, "two" => 2, "three" => 3];

foreach ($array as $key => $value) {
    echo $key . ' => ' . $value . '<br>';
}

Différences entre each() et d'autres fonctions de tableau similaires

La fonction each() est similaire à d'autres fonctions de tableau comme foreach(), array_walk() et array_map(). Cependant, il existe quelques différences entre ces fonctions :

  • foreach() itère sur chaque élément d'un tableau et assigne la valeur à une variable. Il ne modifie pas le pointeur interne du tableau et constitue l'approche moderne recommandée.
  • array_walk() et array_map() sont utilisés pour itérer sur un tableau et appliquer une fonction définie par l'utilisateur à chaque élément. Ils ne retournent pas la paire clé-valeur comme le fait la fonction each().

Statut hérité et alternatives modernes

La fonction each() est dépréciée et supprimée dans les versions modernes de PHP. Son utilisation n'est plus recommandée. Le mot-clé foreach est l'alternative standard, plus sûre et plus performante pour itérer sur des tableaux en PHP 8+.

Conclusion

En conclusion, la fonction each() était historiquement utile pour les développeurs PHP afin d'itérer sur chaque élément d'un tableau et de retourner la paire clé-valeur. Cependant, en raison de sa suppression dans PHP 8.0, les développeurs doivent utiliser foreach pour toutes les tâches d'itération de tableaux modernes.

Pratique

Qu'est-ce qui est correct concernant la fonction each() en PHP selon le contenu de l'URL fournie ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.