18910140161

php使用try的时候,前面不定义变量怎么不报错呢?

顺晟科技

2022-09-22 10:27:40

182

<?php
       try{
            $result = '正确';
        }catch (\Exception $e) {
            echo $e->getMessage();
        }
echo $result
?>

为何这样写,不报错,$result好像没在try的作用域里面定义啊?
感觉应该这样写才对。

<?php
        $result = '';
       try{
            $result = '正确';
        }catch (\Exception $e) {
            echo $e->getMessage();
        }
echo $result
?>

PHP就是这么灵活。

看官网文档下的第一个评论:PHP变量范围

Note that unlike Java and C++, variables declared inside blocks such as loops or if's, will also be recognized and accessible outside of the block, so:
<?php
for($j=0; $j<3; $j++)
{
     if($j == 1)
        $a = 4;
}
echo $a;
?>

Would print 4.

try的作用域?
谁说的这里有作用域啊!
不是见到大括号就能说是作用域的!

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航