php 8.2: ReflectionIntersectionType::getTypes returns an array of ReflectionNamedType. For now, PHP's DNF implementation does not allow union types nested into intersection types.
(PHP 8 >= 8.1.0)
ReflectionIntersectionType::getTypes — Returns the types included in the intersection type
Returns the reflections of types included in the intersection type.
This function has no parameters.
An array of ReflectionType objects.
Example #1 ReflectionIntersectionType::getTypes() example
<?php
function someFunction(Iterator&Countable $value) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];
var_dump($reflectionParam->getType()->getTypes());
?>
The above example will output something similar to:
array(2) { [0] => class ReflectionNamedType#4(0) { } [1] => class ReflectionNamedType#5(0) { } }
php 8.2: ReflectionIntersectionType::getTypes returns an array of ReflectionNamedType. For now, PHP's DNF implementation does not allow union types nested into intersection types.