3-6选择题

3-6选择题

请问下面两段代码第二段为什么会报错,和第一段代码的逻辑有什么不一样的地方?

第一段代码:

http://img1.sycdn.imooc.com//climg/5af95c6600014fb003090189.jpg


第二段代码:

http://img1.sycdn.imooc.com//climg/5af95c760001e6c303490212.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,第二段代码中$dog变量的作用域是zoo函数中,是不能在bar函数中使用的。可以作为参数传入到bar函数中使用。

第一段代码是dance函数嵌套在sport函数内部,那么调用sport函数之后,在调用dance函数,就能使echo输出字符串。但是第二段代码虽然也是函数嵌套,但是$dog的作用域在zoo函数中,因此在bar函数中使用$dog是会报错的。可以将$dog变量定义在bar函数中,在输出。

如果解决了您的问题,请采纳,祝学习愉快!

  • jujijigo 提问者 #1
    还是不怎么明白。bar函数和$dog变量一样也是在zoo函数体内啊,为什么不能使用?
    2018-05-14 19:22:35
  • 好帮手慕查理 回复 提问者 jujijigo #2
    您好,比如有两个盒子:A盒子里放着a与盒子B。a是只能在盒子A中的,盒子B是不能指示a的。如果盒子B想要指示a,只能经过盒子A的同意。也就相当于代码中$dog变量想要在bar函数中输出,就需要作为参数传入到bar函数中才可以。属于变量作用域问题。祝学习愉快!
    2018-05-15 09:08:11
  • jujijigo 提问者 #3
    非常感谢!
    2018-05-15 16:59:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师