Vous apprendre étape par étape comment apprendre les fonctions récursives PHP

醉折花枝作酒筹
Libérer: 2023-03-08 21:54:01
original
2015 Les gens l'ont consulté

La récursivité se produit lorsqu'une fonction s'appelle elle-même dans son corps de fonction. L'exécution d'une fonction récursive s'appellera à plusieurs reprises, entrant à chaque fois dans un nouveau niveau. Les fonctions récursives doivent avoir une condition de fin. Suivons l'éditeur pour apprendre la récursivité.

Vous apprendre étape par étape comment apprendre les fonctions récursives PHP

L'idée de la récursion est de transformer un problème relativement complexe (problème d'origine) en problèmes à plus petite échelle (sous-problèmes) similaires au problème d'origine à résoudre. Une fois que chaque petit problème est résolu, le dernier gros problème sera naturellement résolu. La méthode récursive n'a besoin que d'un petit nombre de programmes pour décrire les multiples calculs répétés requis dans le processus de résolution de problèmes, ce qui réduit considérablement la quantité de code de programme. Bien entendu, les fonctions récursives ne sont pas parfaites et présentent certains inconvénients, c'est-à-dire qu'elles ne fonctionnent pas efficacement.
Le nombre de niveaux de récursion en PHP n'est pas illimité. Ceci est lié à la limite de mémoire du programme. PHP5 permet à un programme d'utiliser 128M de mémoire. et la mémoire de 128 Mo est épuisée, le programme générera une erreur fatale et se terminera. PHP7Permet d'utiliser la mémoire de 256M.

Une fonction récursive s'appelle au sein de la fonction. L'exécution d'une fonction récursive s'appellera à plusieurs reprises, entrant à chaque fois dans un nouveau niveau. Les fonctions récursives doivent avoir une condition de fin. Lorsque la fonction continue de se répéter jusqu'à ce qu'elle rencontre un mur et revienne, le mur est la condition finale. Par conséquent, la récursivité doit comporter deux éléments, la condition finale et la relation de récursion.

Remarque : Lorsque la fonction est appelée et exécutée, de l'espace sera alloué dans la mémoire pour stocker les données temporaires, il n'y a donc pas de connexion entre les fonctions par défaut lors de l'exécution (sauf pour les fonctions statiques Variables, passées par référence, variables globales). Les variables à l'intérieur sont toutes des variables locales par défaut et n'ont aucune influence les unes sur les autres. Jetons un coup d'œil à un exemple pour approfondir notre impression :

<?php
    function demo($num){
        //
        if($num == 1 || $num == 2){
            return 1;
        }else{
            return demo($num - 1) + demo($num - 2);
        }
    }

    echo &#39;数列第 10 位是:&#39;.demo(10);//数列第 10 位是:55
?>
Copier après la connexion

Cet exemple vous semble-t-il familier ? Il s'agit de la séquence de Fibonacci. Lorsque nous calculons la séquence de Fibonacci, si nous utilisons d'autres méthodes, c'est encore mieux. est un peu difficile, mais utiliser des fonctions récursives est beaucoup plus efficace.

Tutoriel recommandé : "Tutoriel vidéo 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!

Étiquettes associées:
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