登录  /  注册

怎么解决PHP中嵌套函数被调用时出现报错的问题?(图文+视频)

藏色散人
发布: 2018-09-17 17:30:16
原创
3865人浏览过

对于初入门的php新手来说,在学习关于php函数嵌套的知识点时可能会有一定的难度。比如有的朋友在练习php函数嵌套相关问题时,会遇到调用内部函数时就会出现报错的情况等。

那么本篇文章就为大家详细得分析介绍关于PHP中特殊函数嵌套函数的处理问题。

下面我们通过具体的代码示例,给大家进行详解。

首先我们创建一段PHP嵌套函数代码示例如下:

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName2();
登录后复制

此段代码我们通过浏览器访问测试的结果如下图:

5ff1204bd99c8c09f3d6a5dc803b32a.png

如图出现了functionName2函数未被定义的报错,这种情况怎么处理呢?

下面我们在上述代码的基础上,再调用functionName1这个函数,代码如下:

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName1();
functionName2();
登录后复制

我们再通过浏览器测试,结果就如下图:

594ade445fe129a91fb1b7b918fc671.png

此时内部函数functionName2就能被成功调用了。

那么如果我们在一个页面多次调用外部函数,又会有什么情况呢?

下面我们再在上述的代码基础上,调用两次functionName1函数,代码如下:

<?php
function functionName1()
{ 
        function functionName2(){
            echo "我是一个被嵌套的函数";
        }   
    echo "我是一个函数";
}
functionName1();
functionName1();
echo "<br>";
functionName2();
登录后复制

通过浏览器访问测试结果如下:

f6c7522c62c204a0b26bc9a1594cc71.png

如图出现了不能重新定义functionName2函数的报错,怎么解决避免这样的错误呢?

这里我们就需要用到if判断语句,那么完整的代码示例如下:

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

最后我们再通过浏览器访问的测试结果如下图:

507e655d6eef6eeef0e26c0874ae675.png

综上所述,我们可以得出一些重要结论:

1、当外部函数没有被调用时,内部的函数就相当于不存在,否则直接调用就会出现上述中函数未定义的错误。

2、当调用多次外部函数时,就需要用一个判断语句来声明嵌套函数,否则就会出现不能重新被定义的错误。

:function_exists() 可以判断指定函数是否被定义。

想要了解更多PHP相关知识,大家可以关注PHP中文网PHP视频教程。欢迎大家来参考学习!

以上就是怎么解决PHP中嵌套函数被调用时出现报错的问题?(图文+视频)的详细内容,更多请关注php中文网其它相关文章!

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

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