php自定义函数之内部函数

内部函数,是指在函数内部又声明了一个函数。

注意事项:

    1.内部函数名,不能是已存在的函数名

    2.假设在函数a里面定义了一个内部函数,不能定用两次函数a。

我们下面来看代码,你将很快的学习会:

<?php
function foo()
{
   echo '我是函数foo哟,调一下我才会执行定义函数bar的过程<br />';
 function bar()
 {
      echo '在foo函数内部有个函数叫bar函数<br />';
 }


}

//现在还不能调用bar()函数,因为它还不存在
bar();

foo();

//现在可以调用bar()函数了,因为foo()函数的执行使得bar()函数变为已定义的函数

bar();

//再调一次foo()看看是不是会报错?
foo();

?>

你会发现,在上面foo() 函数内部又定义了一个bar函数,这就是内函数数。

仔细观察和实验后你会得出如下的结论:

    1.foo()调用两次会报错

    2.如果不调foo()函数无法执行bar函数,因为bar是在foo的内部

继续学习
||
<?php function foo() { echo '我是函数foo哟,调一下我才会执行定义函数bar的过程<br />'; function bar() { echo '在foo函数内部有个函数叫bar函数<br />'; } } //现在还不能调用bar()函数,因为它还不存在 bar(); foo(); //现在可以调用bar()函数了,因为foo()函数的执行使得bar()函数变为已定义的函数 bar(); //再调一次foo()看看是不是会报错? foo(); ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载

Wong

foo()函数调用两次出错,是用为内部函数bar()被定义了两次。正确的话请赞我!

6年前    添加回复 7

世间始终你好

闭包没有释放,所以两次会报错吧。

6年前    添加回复 3

vec

<?php function foo() { echo 'i\'m函数foo哟,调一下我才会执行定义函数bar的过程<br />'; function bar() { echo '在foo函数内部有个函数叫bar函数<br />'; } } //现在还不能调用bar()函数,因为它还不存在 foo(); //现在可以调用bar()函

5年前    添加回复 0

Reg

报错是因为foo()调用的时候内部会生成一个bar()函数,每调用一次生成一次,而函数是不能重复声明的。所以报错。

5年前    添加回复 0

每调用外部函数一次 内部函数声明一次

5年前    添加回复 0

黄宁-宏雀博宇

为什么调用两次会报错、

6年前    添加回复 0

请问为什么调用两次FOO会报错?

[最新 carry 的回答] 因为第二次调用时bar被再次定义,而函数不允许重复定义

时间:6年前

请问这个教程是在哪一集讲到过class

[最新 Ty80 的回答] php入门可以不涉及面向对象class,后面有一定基础了在学类与接口。

时间:6年前

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~