企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**一.联合类型作用** 低版本只能为属性、参数和返回类型声明单个类型。PHP7.1支持了null类型,但已被PHP8中的?代替. ``` string|null $name ?string $name ```   **二.类型** 1.属性 ``` class Person{ public string $name; public function __construct(public string|array $name){ var_dump($this->name); } } new Person([]); ``` 2.参数 ``` function show(int|string $a){ var_dump($a); } show('yzmedu'); ``` 3.返回类型 ``` function show(int|string $a):int|string{ var_dump($a); return 5; } echo show('yzmedu'); ```   **三.类型约束** 1.旧版本一种形式约束 ``` /** * @a int|string */ function show($a){ echo $a; } show('yzmedu'); ``` 2.强制约束 ``` #[show(a,'int','string')] function show(int|string $a){ echo $a; } show('yzmedu'); ```   **四.void不允许与其他任何类型组合,弃用** ``` function foo(): void|null {} ```   **五.?和null类型** 1.单类型建议使用? ``` function show(?string $a){ var_dump($a); } show(null); function show(string|null $a){ var_dump($a); } show(null); ``` 2.多类型只能使用null ``` function show(int|string|null $a){ var_dump($a); } show(null); ```   **六.不允许使用冗余类型** ``` function show(bool|false $name){ var_dump($name); } show(true); ```   ### **系统的学习PHP** 关注:PHP自学中心,回复相应的关键词,领取以下视频教程 **PHP开发API接口视频教程** 公众号里回复:637939   #### **还有其他的教程的关键词,请关注公众号查看每天分享的文章教程的头部** ![](https://img.kancloud.cn/96/af/96af322d2cdc53d3fbbe981affa60c7f_150x150.jpg)