企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**一.改进原因** 在PHP8前,不允许在单个表达式时引发异常,现在可以在箭头函数、三元表达式等单个表达式的任何地方引发异常.   **二.箭头函数使用** //第1阶段 ``` function show(){ return 123; } echo show(); // 第2阶段 $fn=function(){ return 123; }; echo $fn(); //第3阶段 echo (function(){ return 123; })(); // 第4阶段 $fn=fn()=>123; echo $fn(); // 第5阶段 echo (fn()=>123)(); ```   **三.箭头函数+引发异常** 1.先定义后执行 ``` $fn=fn()=>throw new Exception('error'); try{ $fn(); }catch(Exception $e){ echo $e->getMessage(); } ``` 2.定义并同时执行 ``` (fn() => throw new Exception('oops'))(); ```   **四.三元表达式使用** ``` $name=false; $age=20; $r=$name ? $name : $age; $r=$name ?: $age; $r=$name ?? $age; var_dump($r); ```   **五.三元表达式+引发异常** #前面为真则返回第二个值,否则返回第三个值 ``` $value = $name ? $name : throw new Exception('value not set'); $value = $name ?: throw new Exception('value not set'); ``` #前面存在则返回第一个值,否则返回第二个值 ``` $value = $name ?? throw new Exception('value not set'); ```   **配套的PHP8新特性详解视频教程,请查看以下专辑** 链接:[https://www.ixigua.com/6937490165329822219](https://www.ixigua.com/6937490165329822219)