Skip to content

ユニオン型

Type1|Type2|Type3 形式のアノテーションは ユニオン型 です。Type1Type2Type3 はすべて、そのユニオン型の許容可能な可能な型です。

Type1Type2Type3 はそれぞれ アトミック型 です。

ユニオン型は、例えば三項演算子の式など、さまざまな方法で生成できます:

<?php
$rabbit = rand(0, 10) === 4 ? 'rabbit' : ['rabbit'];

$rabbitstring または array のいずれかになります。この考えをユニオン型で表現できます - つまり、$rabbitstring|array と型付けされます。ユニオン型は、与えられた変数が持つ可能性のある すべての 型を表します。

PHPのビルトイン関数もユニオン型の戻り値を持っています - strpos は状況によって false を返すこともあれば、int を返すこともあります。このユニオン型を int|false と表現します。

ユーザーノート