php使用try的时候,前面不定义变量怎么不报错呢?
<?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
?>
回复
1个回答

test
2024-07-20
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.
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容