Comment résoudre le problème du rapport d'erreurs lorsque des fonctions imbriquées sont appelées en PHP ? (Photos + Vidéos)

藏色散人
Libérer: 2018-09-17 17:30:16
original
4160 Les gens l'ont consulté

Pour les nouveaux arrivants en PHP, il peut être difficile d'acquérir des connaissances sur l'imbrication de fonctions PHP. Par exemple, lorsque certains amis s'entraînent à des problèmes liés à l'imbrication de fonctions PHP, ils rencontreront des erreurs lors de l'appel de fonctions internes.

Ensuite, cet article vous donnera une analyse détaillée et une introduction sur le traitement des fonctions imbriquées de fonctions spéciales en PHP.

Ci-dessous, nous vous donnerons une explication détaillée à travers des exemples de code spécifiques.

Nous créons d'abord un morceau de code de fonction imbriqué PHPL'exemple est le suivant :

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName2();
Copier après la connexion

Les résultats de notre test d'accès à ce morceau de code via le navigateur sont les suivants :

Comment résoudre le problème du rapport derreurs lorsque des fonctions imbriquées sont appelées en PHP ? (Photos + Vidéos)

Comme le montre la figure, un message d'erreur indiquant que la fonction functionName2 n'est pas définie apparaît. Comment gérer cette situation ?

Sur la base du code ci-dessus, nous appellerons functionName1. Le code est le suivant :

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName1();
functionName2();
Copier après la connexion

Nous passerons ensuite le test du navigateur et le résultat sera celui indiqué ci-dessous :

Comment résoudre le problème du rapport derreurs lorsque des fonctions imbriquées sont appelées en PHP ? (Photos + Vidéos)

À ce stade, la fonction interne functionName2 peut être appelée avec succès.

Alors que se passe-t-il si on appelle des fonctions externes plusieurs fois sur une page  ?

Sur la base du code ci-dessus, nous appellerons la fonction functionName1 deux fois. Le code est le suivant :

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName1();
functionName1();
echo "<br>";
functionName2();
Copier après la connexion

Les résultats des tests d'accès via le navigateur sont les suivants :

Comment résoudre le problème du rapport derreurs lorsque des fonctions imbriquées sont appelées en PHP ? (Photos + Vidéos)

Comme le montre la figure, un message d'erreur apparaît indiquant que la fonction functionName2 ne peut pas être redéfinie. Comment résoudre et éviter de telles erreurs ?

Ici, nous devons utiliser l'instruction de jugement if, donc l'exemple de code complet est le suivant :

<?php
// 当外部的函数没有被调用时,内部的函数相当于不存在
function functionName1()
{
    if (!function_exists(&#39;functionName2&#39;)){
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }
    }
    echo "我是一个函数";
}
functionName1();
functionName1();
echo "<br>";
functionName2();
Copier après la connexion

Enfin, les résultats des tests auxquels nous accédons via le navigateur sont les suivants :

Comment résoudre le problème du rapport derreurs lorsque des fonctions imbriquées sont appelées en PHP ? (Photos + Vidéos)

Pour résumer, nous pouvons tirer quelques conclusions importantes :

1 Lorsque la fonction externe n'est pas appelée, la fonction interne équivaut à ne pas. existant, sinon un appel direct provoquera l'erreur non définie de la fonction ci-dessus.

2. Lorsque vous appelez plusieurs fonctions externes, vous devez utiliser une instruction de jugement pour déclarer la fonction imbriquée, sinon il y aura une erreur qui ne pourra pas être redéfinie.

Remarque : function_exists() peut déterminer si la fonction spécifiée est définie.

Si vous souhaitez en savoir plus sur PHP, vous pouvez suivre le site PHP chinois Tutoriel vidéo PHP. Bienvenue à tous à consulter et à étudier !

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