En php, end () et chacun () sont deux fonctions très courantes, généralement liées aux opérations de réseau et à la traversée. Bien que ForEach soit la méthode la plus couramment utilisée de traversée du tableau, vous pouvez également simuler le comportement de traversée de type FOREAC en utilisant des fonctions de pointeur. Aujourd'hui, nous discuterons de la façon d'utiliser end () et de chacun () pour imiter le processus de traversée de Forach .
La fonction end () est utilisée pour déplacer le pointeur interne du tableau vers le dernier élément du tableau et renvoyer la valeur de cet élément. De cette façon, vous pouvez accéder au dernier élément du tableau sans changer le tableau lui-même.
Exemple:
$array = [1, 2, 3, 4];
echo end($array); // Sortir 4
Chaque fonction () renvoie la paire de valeurs clés actuelle dans le tableau et déplace le pointeur interne un par un. Il renvoie un tableau ( clé et valeur ) contenant le nom de la clé et la valeur de la clé. Lorsque le pointeur intérieur est déplacé vers le dernier élément du tableau, appeler chaque () reviendra false .
Exemple:
$array = [1, 2, 3, 4];
print_r(each($array)); // Sortir: Array ( [0] => 1 [value] => 1 [key] => 0 )
ForEach est une méthode courante pour traverser les tableaux en PHP, mais si vous souhaitez contrôler manuellement le processus de traversée via des pointeurs de tableau, vous pouvez simuler ce comportement de traversée via END () et chacun () .
Initialisez le tableau : Tout d'abord, nous avons besoin d'un tableau pour traverser.
Utilisez End () pour localiser le dernier élément du tableau : nous localisons le pointeur du tableau en appelant la fonction end () .
Utilisez chacun () pour traverser le tableau : nous itérons sur le tableau dans chaque () jusqu'à ce que chaque () renvoie faux , indiquant que la traversée du tableau a été terminée.
<?php
$array = [1, 2, 3, 4, 5];
// Déplacez le pointeur vers le dernier élément du tableau
end($array);
// simulation foreach Traversée
while ($element = each($array)) {
echo "clé: " . $element['key'] . ",valeur: " . $element['value'] . "\n";
}
?>
end ($ array) : déplacez le pointeur intérieur du tableau vers le dernier élément du tableau.
Chaque ($ array) : renvoie la paire de valeurs clés de l'élément actuel du tableau et déplace le pointeur vers l'élément suivant.
Pendant que Loop : continuez à itérer sur le tableau jusqu'à ce que chaque () renvoie faux .
En utilisant end () et chacun () , nous pouvons traverser manuellement le tableau à travers des pointeurs de tableau, atteignant ainsi des fonctionnalités de type Forach . Bien que ForEach soit plus concis et efficace dans la plupart des cas, End () et chacun () fournissent une alternative intéressante si vous voulez avoir plus de flexibilité pour contrôler le mouvement des pointeurs de tableau.
Notes supplémentaires:
Dans cet article, la fonction chacune () que nous avons utilisée a été abandonnée dans PHP 7.2.0 et a été complètement supprimée dans PHP 8.0. Par conséquent, si vous utilisez une version plus élevée de PHP, vous devrez peut-être utiliser d'autres méthodes pour itérer sur le tableau, comme ForEach ou pour les boucles.