Maison > Article > développement back-end > Que sont les fonctions intrinsèques en PHP ? Quelle est sa méthode d'appel ? Quelle est la différence avec les fonctions externes ?
L'article précédent vous a présenté "Qu'est-ce qu'une fonction de rappel ? Comment est-il défini ? Quelle est sa fonction ? (Explication détaillée et exemples) 》, cet article continue de vous présenter que sont les fonctions internes en PHP ? Quelle est sa méthode d'appel ? Quelle est la différence avec les fonctions externes ? Cet article vous apportera différents gains. Continuons à explorer ensemble les mystères de PHP ! ! !
Qu'est-ce qu'une fonction interne :
Une fonction déclarée à l'intérieur d'une fonction est une fonction interne
Plus précisément, nous prenons le code comme exemple :
<?php //内部函数 function outer(){ //在outer函数内部在定义一个函数(内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉'; } } //内部函数如何调用 inner(); ?>
Analyse du code :
Tout d'abord, nous définissons une fonction external(), puis nous définissons à nouveau une fonction à l'intérieur de la fonction externe .À l'heure actuelle, la fonction que nous avons définie est la fonction interne. Deuxièmement, nous produisons (en écho) une chaîne push,
. Cependant, comment appelons-nous la fonction interne ? et le résultat en cours d'exécution montre une erreur, appelant la fonction inutilisée définie inner(), mais quand nous voyons le code ci-dessus, nous pouvons savoir que nous l'avons déjà défini, nous pouvons donc expliquer que la fonction interne ne peut pas être appelée directement depuis le dehors.
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } inner(); } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 outer(); ?>
Cependant, lorsque nous appelons inner() à l'intérieur de la fonction, si nous voulons qu'elle s'exécute normalement, il nous suffit d'appeler external() pour obtenir notre entrée. Le résultat : comme indiqué ci-dessous :
Quel sera le résultat si nous mettons inner() au-dessus de la définition de la fonction ?
D'après les résultats, ne peut pas appeler undefined inner()
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) inner(); function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 outer(); ?>
Donc nous avons appris , inter () ne peut pas être appelé car les connaissances de l'analyseur PHP préchargent la fonction et n'exécutent pas la fonction externe, donc la situation interne n'est pas connue
Comment la fonction interne est-elle appelée lorsqu'elle est dans l'externe ; fonction? ?
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 //outer(); //内部函数在外部函数,如何调用 outer(); inner(); ?>
Analyse du code :
Si nous voulons que la fonction externe prenne effet, nous devons d'abord appeler external(). Après avoir obtenu la fonction interne, nous appelons inner(). fonction Appel, nous constaterons que le contenu que nous voulons afficher apparaîtra également
Sur la base du contenu de l'article ci-dessus, nous résumons comme suit (la différence entre interne fonctions et fonctions externes est) :
1. Une fonction peut-elle être appelée en dehors d'une fonction ?
ne peut pas être appelé directement, mais après avoir appelé une fonction externe, vous pouvez appeler n'importe quelle fonction interne
2. Les fonctions internes peuvent-elles être appelées à l'intérieur d'une fonction ?
peut être appelé, mais il doit être appelé une fois la fonction interne définie, car l'analyseur PHP ne chargera que les fonctions externes et n'exécutera pas de fonctions externes, donc je ne sais pas s'il existe
fonctions internes dans les fonctions externes.
Apprentissage 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!