try catch代码块中的全局变量与局部变量

人老了,记性就差。

今天在一个项目中写事务的时候,想着把正确的结果在所有代码执行结束后统一返回。于是就在try catch开始的位置先定义了一个变量。结果在后续敲代码的过程中这个变量一直处于灰色状态,导致我有些怀疑自己。

为了进一步验证,用了PHP在线工具进行了简单的验证。

验证代码:

  1. <?php
  2. date_default_timezone_set('Asia/Shanghai');
  3. $name = "xiaoli";
  4. function test(){
  5.    global $name;
  6.    $b = [];
  7.    try{
  8.        if($name == "xiaoli"){
  9.            echo "I have visited it !";
  10.            $b = [1,2,3];
  11.        }else{
  12.            throw new Exception("访问不到");
  13.        }
  14.    }catch(Exception $e){
  15.        echo "错误:".$e->getMessage();
  16.    }
  17.    print_r($b);
  18. }
  19. //执行方法
  20. test();

执行结果:

try catch代码块中的全局变量与局部变量

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!