返回PHP不支持块......登陆

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

笑颜常开2019-03-14 15:27:13252

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有函数作用域,但是没有块级作用域,没有C/C++、java等语言的块级作用域概念。

3、避免方法

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



最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送