人老了,记性就差。
今天在一个项目中写事务的时候,想着把正确的结果在所有代码执行结束后统一返回。于是就在try catch开始的位置先定义了一个变量。结果在后续敲代码的过程中这个变量一直处于灰色状态,导致我有些怀疑自己。
为了进一步验证,用了PHP在线工具进行了简单的验证。
验证代码:
- <?php
- date_default_timezone_set('Asia/Shanghai');
- $name = "xiaoli";
- function test(){
- global $name;
- $b = [];
- try{
- if($name == "xiaoli"){
- echo "I have visited it !";
- $b = [1,2,3];
- }else{
- throw new Exception("访问不到");
- }
- }catch(Exception $e){
- echo "错误:".$e->getMessage();
- }
- print_r($b);
- }
- //执行方法
- test();
执行结果: