(PHP 5 >= 5.1.2, PHP 7, PHP 8)
ReflectionParameter::isArray โ ้ ๅใๅใๅใใใฉใกใผใฟใงใใใใฉใใใ่ชฟในใ
ใใฎ้ขๆฐใฏ PHP 8.0.0 ใง ้ๆจๅฅจใซใชใใพใใใใฎ้ขๆฐใซ้ ผใใชใใใจใๅผทใๆจๅฅจใใพใใ
้ ๅใๅใๅใใใฉใกใผใฟใใฉใใใ่ชฟในใๅฅใฎๆนๆณใซใคใใฆใฏใไธใซ็คบใไพใๅ็ งใใ ใใใ
้ ๅใๅใๅใใใฉใกใผใฟใงใใใใฉใใใ่ชฟในใพใใ
ใใฎ้ขๆฐใซใฏใใฉใกใผใฟใฏใใใพใใใ
้
ๅใๅใๅใใใฉใกใผใฟใงใใๅ ดๅใซ true
ใใใไปฅๅคใฎๅ ดๅใซ false
ใ่ฟใใพใใ
ใใผใธใงใณ | ่ชฌๆ |
---|---|
8.0.0 | ใใฎ้ขๆฐใฏๆจๅฅจใใใชใใชใใพใใใ ReflectionParameter::getType() ใไปฃใใใซไฝฟใใฎใๅฅฝใพใใใงใใ |
ไพ1 PHP 8.0.0 ไปฅ้ใงๅ็ญใฎใใจใ่กใใซใฏ
PHP 8.0.0 ไปฅ้ใงใฏใไปฅไธใฎใณใผใใฏ union ใฎไธ้จใงใใฃใๅ ดๅใๅซใใฆใ้ ๅๅใๅฎฃ่จใใฆใใใใฉใใใๅ ฑๅใใพใใ
<?php
function declaresArray(ReflectionParameter $reflectionParameter): bool
{
$reflectionType = $reflectionParameter->getType();
if (!$reflectionType) return false;
$types = $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];
return in_array('array', array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));
}
?>