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"; } } }
$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);
e g i n
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!