Comment réaliser un parcours infini de tableaux en php

PHPz
Libérer: 2023-04-27 09:34:39
original
768 Les gens l'ont consulté

En langage PHP, le tableau est un type de données très courant. Nous devons souvent parcourir un tableau pour obtenir tous les éléments du tableau. L'approche habituelle consiste à utiliser l'instruction foreach pour parcourir. Cependant, si le tableau est un tableau multidimensionnel, l’imbrication à l’aide d’instructions foreach peut devenir compliquée. Dans ce cas, nous pouvons utiliser une méthode récursive pour parcourir le tableau à l’infini.

1. Qu'est-ce que la récursivité ?

La récursion fait référence au comportement d'une fonction qui s'appelle lors de son exécution. La fonction récursive est un outil très puissant qui peut être utilisé pour résoudre de nombreux problèmes complexes, tels que le parcours de structure arborescente, le parcours de structure graphique, etc. Dans le langage PHP, les fonctions récursives sont appelées de la même manière que les fonctions ordinaires, sauf que la fonction s'appelle elle-même en interne.

2. Parcourir récursivement un tableau à deux dimensions

En PHP, nous pouvons utiliser des méthodes récursives pour parcourir à l'infini un tableau multidimensionnel. Voici un exemple de code pour parcourir récursivement un tableau à deux dimensions :

function recursive_print_array($array) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            recursive_print_array($value);
        } else {
            echo $value . "\n";
        }
    }
}
Copier après la connexion

Dans cette fonction, nous parcourons d'abord chaque élément du tableau :

foreach ($array as $key => $value)
Copier après la connexion

Vérifiez ensuite si le élément actuel Est un tableau :

if (is_array($value))
Copier après la connexion

Si c'est un tableau, on utilise la méthode récursive pour parcourir le tableau :

recursive_print_array($value);
Copier après la connexion

Si ce n'est pas un tableau, la valeur de cet élément est affiché directement :

echo $value . "\n";
Copier après la connexion

Cette fonction peut parcourir à l'infini un tableau à deux dimensions. Veuillez regarder l'exemple de code ci-dessous :

$array = array(
    'a' => array('b' => array('c' => 'd'), 'e' => 'f'),
    'g' => 'h',
    'i' => array('j' => array('k' => 'l'))
);

recursive_print_array($array);
Copier après la connexion

Cet exemple de code affichera le contenu suivant :

d
f
h
l
Copier après la connexion

3. Parcourez récursivement le tableau de n'importe quelle dimension

#🎜. 🎜#Ce qui précède L'exemple de code parcourt uniquement un tableau à deux dimensions, mais il est en fait tout aussi simple de parcourir de manière récursive un tableau de n'importe quelle dimension. Voici un exemple de code :

function recursive_traverse($array) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            recursive_traverse($value);
        } else {
            echo $value . "\n";
        }
    }
}
Copier après la connexion
Cette fonction est fondamentalement la même que l'exemple de code ci-dessus, sauf que le nom et les noms des paramètres ont changé. Cette fonction peut parcourir de manière récursive un tableau de n’importe quelle dimension.

Veuillez regarder l'exemple de code ci-dessous :

$array = array(
    'a' => array('b' => array('c' => array('d' => 'e', 'f' => 'g'))),
    'h' => 'i',
    'j' => array('k' => array('l' => array('m' => 'n')))
);

recursive_traverse($array);
Copier après la connexion
Dans cet exemple de code, nous définissons un tableau à cinq dimensions. En utilisant la fonction ci-dessus, nous pouvons parcourir tous les éléments de ce tableau. Voici le résultat de cette fonction :

e
g
i
n
Copier après la connexion
4 Résumé

L'utilisation d'une méthode récursive pour parcourir un tableau à l'infini est un outil très puissant. Tant que nous comprenons le concept de récursivité, nous pouvons facilement parcourir des tableaux de dimensions arbitraires. Dans le développement réel, les méthodes récursives sont généralement utilisées pour parcourir des types de données tels que les structures arborescentes et les structures graphiques. La maîtrise de cette technologie peut rendre nos programmes plus flexibles et plus efficaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal