那么本篇文章就为大家详细得分析介绍关于PHP中特殊函数嵌套函数的处理问题。
下面我们通过具体的代码示例,给大家进行详解。
<?PHP function functionName1() { function functionName2(){ echo 我是一个被嵌套的函数; } echo 我是一个函数; } functionName2();
此段代码我们通过浏览器访问测试的结果如下图:
如图出现了functionName2函数未被定义的报错,这种情况怎么处理呢?
下面我们在上述代码的基础上,再调用functionName1这个函数,代码如下:
<?PHP function functionName1() { function functionName2(){ echo 我是一个被嵌套的函数; } echo 我是一个函数; } functionName1(); functionName2();
我们再通过浏览器测试,结果就如下图:
下面我们再在上述的代码基础上,调用两次functionName1函数,代码如下:
<?PHP function functionName1() { function functionName2(){ echo 我是一个被嵌套的函数; } echo 我是一个函数; } functionName1(); functionName1(); echo <br>; functionName2();
通过浏览器访问测试结果如下:
如图出现了不能重新定义functionName2函数的报错,怎么解决避免这样的错误呢?
这里我们就需要用到if判断语句,那么完整的代码示例如下:
<?PHP // 当外部的函数没有被调用时,内部的函数相当于不存在 function functionName1() { if (!function_exists('functionName2')){ function functionName2(){ echo 我是一个被嵌套的函数; } } echo 我是一个函数; } functionName1(); functionName1(); echo <br>; functionName2();
最后我们再通过浏览器访问的测试结果如下图:
综上所述,我们可以得出一些重要结论:
1、当外部函数没有被调用时,内部的函数就相当于不存在,否则直接调用就会出现上述中函数未定义的错误。
2、当调用多次外部函数时,就需要用一个判断语句来声明嵌套函数,否则就会出现不能重新被定义的错误。
注:function_exists() 可以判断指定函数是否被定义。