php有块级作用域吗,PHP不支持块级作用域会引发哪些问题?如何避免?

摘要:1、示例代码<?php     $arr = [1, 2, 4];foreach ($arr as $val) {$sum += $val;}var_dump($val,$sum);exit;?>2、输出int(4)int(7)为什么foreach 循环内的$val和$sum变量已经退出循环了,打印出来还是显示变量存在?原因是:PHP有函数作用域,但是没有

1、示例代码

$arr = [1, 2, 4];

foreach ($arr as $val) {

$sum += $val;

}

var_dump($val,$sum);

exit;

?>

2、输出

int(4)

int(7)

为什么foreach 循环内的$val和$sum变量已经退出循环了,打印出来还是显示变量存在?原因是:PHP有函数作用域,但是没有块级作用域,没有C/C++、java等语言的块级作用域概念。

3、避免方法

不同作用域的变量怕重名。没有块作用域,但把块写短一点,避免无意识的重名,便于观察;把长的块写成函数,就有局部作用域了。

批改老师:韦小宝批改时间:2019-03-14 15:33:59

老师总结:写的还是没有毛病的 好好研究研究 多去实现点效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值