ReflectionParameter::isArray
配列を受け取るパラメータであるかどうかを調べる
警告この関数は PHP 8.0.0 で
非推奨になります。この関数に頼らないことを強く推奨します。
配列を受け取るパラメータかどうかを調べる別の方法については、下に示す例を参照ください。
説明
public bool ReflectionParameter::isArray()
戻り値
配列を受け取るパラメータである場合に true
、それ以外の場合に false
を返します。
例
例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));
}
?>
参考
- ReflectionParameter::isOptional