php递归有关问题
php递归问题
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> function test($a) { echo ' '.$a.' '; if($a >0) { test($a-1); }else { echo ''; } echo '<b>'.$a.'</b>'; } test(3)
3 2 1 0 0 1 2 3
各位大侠给解释下运行步骤,或者点参考资料让我去研究下,本人菜鸟。多多包涵
------解决方案--------------------
兄弟,一言难尽了,调用一函数,就得开辟一新栈,递归调用test($a-1)完时,已经输出了3 2 1 0 这个明白不?
然后接着当然是这玩意了,是吧, 明白吗?
最后回收开辟的栈,都要执行这玩意echo ''.$a.''; ~~~
哪里看不明白,指出,尽我所能给你仔细讲解哈~~
------解决方案--------------------
每一层都一样:
1,打印$a
2,进入下一层递归 or 打印
3, 打印$a
那么就是:
打印3, 打印2, 打印1, 打印0, 打印,打印0, 打印1, 打印2, 打印3。
红色是步骤1,蓝色是步骤2.
------解决方案--------------------
test(3) 执行function test :
1. echo $a = 3 然后进入if判断 3>0 执行 test(2) ;这里函数test(3) 还没有执行完的。是先去执行了 test(2) ------- *1;
2. test(2) echo $a = 2 然后判断2>0 执行 test(1) ; 这里也是test(2) 还没有执行完。先去执行了 test(1) ------------*2;
3.test(1) echo $a = 1; 然后判断1>0 执行 test(0) ;这里test(1) 还没有执行完。先去执行了test(0) -----------*3;
4. test(0) echo $a = 0 ;然后判断 0>0 执行了echo echo 0;
5. 4执行完后回到了 *3 ,判断完了后执行 echo $a = 1;
6. 5执行完 回到 * 2 echo $a = 2;
7. 6执行完 回到 *1 echo $a = 3;
这是 一层一层的深入 然后又是一层一层的往外走。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Huawei déploie la version logicielle 5.0.0.100 (C00M01) pour les montres intelligentes Watch GT 5 et Watch GT 5 Pro dans le monde entier. Ces deux montres intelligentes ont récemment été lancées en Europe, le modèle standard étant le modèle le moins cher de l’entreprise. Cette harmonie

Katsuhiro Harada, le réalisateur de la série Tekken, a un jour sérieusement tenté d'impliquer le colonel Sanders dans le jeu de combat emblématique. Dans une interview avec TheGamer, Harada a révélé qu'il avait présenté l'idée à KFC Japon, dans l'espoir d'ajouter la légende de la restauration rapide comme g

Tesla déploie la dernière version 12.5.5 de conduite entièrement autonome (supervisée) et avec elle vient enfin l'option Cybertruck FSD promise, dix mois après la mise en vente du pick-up avec la fonctionnalité incluse dans le prix de finition de la série Foundation. F

Plus tôt en septembre 2024, le chargeur Zolo 140 W d'Anker a fait l'objet d'une fuite, et c'était un gros problème puisqu'il s'agissait du tout premier chargeur mural doté d'un écran de l'entreprise. Maintenant, une nouvelle vidéo de déballage de Xiao Li TV sur YouTube nous donne un aperçu direct du salut.

Garmin termine le mois avec une nouvelle série de mises à jour stables pour ses dernières montres intelligentes haut de gamme. Pour récapituler, la société a publié le logiciel système 11.64 pour lutter contre l'épuisement élevé de la batterie des Enduro 3, Fenix E et Fenix 8 (prix actuel : 1 099,99 $ sur Amazon).

Xiaomi lancera prochainement le chauffe-huile Mijia Graphene en Chine. La société a récemment mené avec succès une campagne de financement participatif pour le produit de maison intelligente, hébergé sur sa plateforme Youpin. Selon la page, l'appareil a déjà commencé à être expédié vers

Le lancement du très attendu pliable « Special Edition » de Samsung a pris une autre tournure. Ces dernières semaines, les rumeurs concernant le soi-disant Galaxy Z Fold Special Edition sont devenues plutôt silencieuses. Au lieu de cela, l’accent s’est déplacé vers la série Galaxy S25, y compris

Avec une histoire de plus d'une décennie, Manjaro est considérée comme l'une des distributions Linux les plus conviviales, adaptée aussi bien aux débutants qu'aux utilisateurs expérimentés, étant facile à installer et à utiliser. Principalement développée en Autriche, en Allemagne et en France, cette distribution basée sur Arch
