🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**一.match语法** ``` #比switch改进了很多 match(){ value=>condition1, express=>condition2, default=>condition3, } ```   **二.match可返回一个值** ``` #switch是不可以的,而且隐式break $name = match(2) { 1 => 'One', 2 => 'Two', }; echo $name; ```   **三.允许多个匹配条件** ``` match($request_method) { 'post' => $this->handlePost(), 'get','head' => $this->handleGet(), }; ```   **四.default条件** ``` $name = match(2) { 1 => 'One', 2 => 'Two', default => 'Three', }; echo $name; ``` **五.match表达式必须符合条件** ``` #如果一个也匹配不上会马上抛出UnhandledMatchError异常错误 $a=3; try{ echo match($a){ 1=>'aaa', 2=>'bbb', }; }catch(UnhandledMatchError $e){ echo $e->getMessage(); } ```   **六.默认强类型严格匹配** ``` #在典型的switch块中,其大小写是松散匹配的(==),但在match表达式中,所有匹配的条件都经过严格匹配(===). function read(mixed $key): string { return match ($key) { 1 => 'Integer 1', '1' => 'String 1', true => 'Bool true', }; } read(1); read('1'); read(true); ```   **七.match匹配任意表达式** ``` #match 表达式允许给定值与表达式匹配. const HOST='localhost'; function show(){ return 5; } $a=5; echo match($a){ HOST=>'aaa', show()=>'bbb', default=>'ccc', }; ```   ### **系统的学习PHP** 关注:PHP自学中心,回复相应的关键词,领取以下视频教程 **PHP各种设计模式视频教程** 公众号里回复:20190522   #### **还有其他的教程的关键词,请关注公众号查看每天分享的文章教程的头部** ![](https://img.kancloud.cn/96/af/96af322d2cdc53d3fbbe981affa60c7f_150x150.jpg)