登录  /  注册

PHP中什么是内部函数?其调用方式是?和外部函数的区别是?

慕斯
发布: 2021-06-04 17:59:36
原创
2967人浏览过

上篇文章给大家介绍了《什么是回调函数?怎么定义的?其作用是什么?(详解及实例)》,本文继续给大家介绍php中什么是内部函数?其调用方式是?和外部函数的区别是?本篇文章,将会让你们有不一样的收获,一起去继续探索php的奥秘吧!!!

PHP中什么是内部函数?其调用方式是?和外部函数的区别是?

什么是内部函数:

在函数内部声明的函数就是内部函数;

具体我们以代码为例:

<?php
    //内部函数
    function outer(){
    //在outer函数内部在定义一个函数(内部函数)
    function inner(){
      echo &#39;千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉&#39;;
    }
    }
    //内部函数如何调用
    inner();
?>
登录后复制

代码解析:

首先,我们先定义一个函数outer(),紧接着我们在outer函数的内部再次定义一个函数,此时我们定义的函数就是内部函数,其次我们输出(echo)一推字符串,

然而,我们如何调用内部函数,首先,我们直接调用inner(),运行结果显示报错,调用了未定义的inner(),但是我们看到上述代码,我们可以知道,我们已经定义过了,因此我们可以说明,内部函数在外部不能够直接调用。

31.JPG

<?php
/******内部函数*****/
function outer(){
//在outer函数内部再次定义个函数 (内部函数)
function inner(){
echo  &#39;千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉&#39; ;
}
 inner();
}
//内部函数如何调用
//inner();内部函数在外部无法直接调用
//内部函数在函数内部如何调用是否有先后顺序
outer();
?>
登录后复制

然而当我们在函数内部调用inner(),如果我们想让它正常执行,我们只需调用outer()即可,即可得到我们输入的结果:如下所示:

32.JPG

如果我们把inner()放在定义函数的上面结果什么样呢?

根据结果显示,不能调用未定义的inner()

<?php
/******内部函数*****/
function outer(){
//在outer函数内部再次定义个函数 (内部函数)
inner();
function inner(){
echo  &#39;千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉&#39; ;
}
}
//内部函数如何调用
//inner();内部函数在外部无法直接调用
//内部函数在函数内部如何调用是否有先后顺序
outer();
?>
登录后复制

33.JPG

因此我们了解到,inter()不能调用,因为PHP解析器知识预先加载函数,并没有执行outer函数,所以不知道内部情况;

当内部函数在外部函数时,又是如何调用的?

<?php
/******内部函数*****/
function outer(){
//在outer函数内部再次定义个函数 (内部函数)
function inner(){
echo  &#39;千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉&#39; ;
}
}
//内部函数如何调用
//inner();内部函数在外部无法直接调用
//内部函数在函数内部如何调用是否有先后顺序
//outer();
//内部函数在外部函数,如何调用
outer();
inner();
?>
登录后复制

代码解析:

如果我们想让外部函数生效,要先调用outer(),当我们有了内部函数之后,我们在调用inner()函数的调用,我们会发现也会出现我们所要输出的内容;

32.JPG

根据上述文章内容,我们总结如下(内部函数和外部函数的区别是):

1.在函数外部是否可以调用部函数?

不可以直接调用,但是如果调用外部函数之后,就可以任意调用内部函数
2.在函数内部是否可以调用内部函数?
可以调用, 但是必须在内部函数定义之后调用,因为PHP解析器只会加载外部函数并不会执行外部函数,所以不知道外部函数中还有
内部函数。

推荐学习:《PHP视频教程

以上就是PHP中什么是内部函数?其调用方式是?和外部函数的区别是?的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号