Dans l'article précédent, nous vous avons présenté la série d'algorithmes PHP "Algorithme de sélection aléatoire PHP" et "Algorithme de tri à bulles PHP 》, amis dans le besoin peut en apprendre davantage. Dans cet article, nous continuerons à vous proposer des algorithmes PHP courants, à savoir algorithme récursif PHP .
Dans le processus de développement PHP, les algorithmes récursifs sont souvent utilisés pour une classification infinie. La soi-disant récursivité est donc un mécanisme dans lequel une fonction s'appelle elle-même. Pour faire simple, vous vous appelez directement ou indirectement dans le corps de la fonction, mais vous devez définir les conditions d'auto-appel. Si les conditions sont remplies, la fonction elle-même est appelée. Si les conditions ne sont pas remplies, l'auto-appel. l'appel de cette fonction est terminé.
Et il existe de nombreuses façons d'implémenter des algorithmes récursifs, par exemple via des "variables statiques", des "variables globales" et la "passage de paramètres par référence".
Ci-dessous, nous vous présenterons l'une des méthodes utilisant des exemples de code spécifiques, qui est la méthode d'utilisation de variables statiques !
Le code est le suivant :
<?php function call(){ static $i = 0; echo $i . ''; $i++; if($i<10){ call(); } } call();
Sortie :
0 1 2 3 4 5 6 7 8 9
Dans cette méthode, nous utilisons principalement static pour définir des variables statiques afin d'implémenter des variables récursives tri. Comme ci-dessus, nous avons défini une méthode d'appel et une variable statique $i. Si nous n'ajoutons pas de jugement à la variable $i mais l'exécutons directement, une boucle infinie se produira. Nous avons donc ajouté ici une déclaration de jugement if conditionnel. Enfin, la boucle appelle sa propre méthode.
Cet article est une introduction à l'utilisation de variables statiques pour implémenter les algorithmes récursifs PHP. Dans les articles suivants, nous continuerons à présenter les méthodes d'implémentation pertinentes des algorithmes récursifs PHP.
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!