• 技术文章 >后端开发 >PHP问题

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

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

    什么是内部函数:

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

    具体我们以代码为例:

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

    代码解析:

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

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

    31.JPG

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

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

    32.JPG

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

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

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

    33.JPG

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

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

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

    代码解析:

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

    32.JPG

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

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

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

    推荐学习:《PHP视频教程

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:内部函数
    上一篇:PHP如何使用strval()函数? 下一篇:php中mysql和mysqli的区别是什么
    第16期线上培训班

    相关文章推荐

    • 如何使用php内部函数• 关于php自定义函数及内部函数讲解• php常规知识考察:自定义函数及内部函数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网