ReflectionParameter::isArray

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionParameter::isArrayVerifica se o parâmetro espera um array

Warning

Esta função tornou-se DEFASADA a partir do PHP 8.0.0. O uso desta função é fortemente desencorajado.

Veja o exemplo abaixo para uma forma alternativa de derivar esta informação.

Descrição

public ReflectionParameter::isArray(): bool

Verifica se o parâmetro espera um array.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

true se um array for esperado, false caso contrário.

Exemplos

Example #1 Equivalente a PHP 8.0.0

A partir do PHP 8.0.0, o código a seguir reportará se um tipo declara arrays, inclusive como parte de uma união.

<?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));
}
?>

Veja Também