ReflectionParameter::isArray

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

ReflectionParameter::isArrayПроверяет, ожидает ли параметр массив в аргументе

Внимание

Начиная с PHP 8.0.0 функция УСТАРЕЛА. Полагаться на функцию настоятельно не рекомендуют.

Пример на этой странице показыват альтернативный способ, которым получают эту информацию.

Описание

#[\Deprecated]
public function ReflectionParameter::isArray(): bool

Метод проверяет, ожидает ли параметр массив как значение аргумента.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Метод возвращает true, если параметр ожидает в аргументе значение с типом array, иначе возвращает false.

Список изменений

Версия Описание
8.0.0 Метод устарел в пользу метода ReflectionParameter::getType().

Примеры

Пример #1 Альтернатива в PHP 8.0.0

Начиная с PHP 8.0.0 следующий код сообщит, объявляет ли тип массивы, в том числе как часть объединения.

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

?>

Смотрите также