Maison >développement back-end >Problème PHP >Comment réaliser un parcours infini de tableaux en php

Comment réaliser un parcours infini de tableaux en php

PHPz
PHPzoriginal
2023-04-27 09:03:49795parcourir

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";
        }
    }
}

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

foreach ($array as $key => $value)

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

if (is_array($value))

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

recursive_print_array($value);

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

echo $value . "\n";

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);

Cet exemple de code affichera le contenu suivant :

d
f
h
l

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";
        }
    }
}
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);
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
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!

Déclaration:
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