ReflectionParameter::isArray

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

ReflectionParameter::isArrayVérifie si le paramètre attend un tableau

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.0.0. Dépendre de cette fonction est fortement déconseillé.

Voir l'exemple ci-dessous pour une manière alternative pour dériver cette information.

Description

public ReflectionParameter::isArray(): bool

Vérifie si le paramètre attend un tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

true si le paramètre attend un tableau, false sinon.

Exemples

Exemple #1 Équivalent PHP 8.0.0

À partir de PHP 8.0.0, le code suivant signalera si un type supporte les tableaux, incluant ceux faisant partie d'une 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));
}
?>

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
denis at example dot com
4 years ago
Hi, this is simple example of how to use it.

class Test
{
    public function testArray(array $a)
    {
        // do something...
       
        return $a;
    }
   
    public function testString(string $a)
    {
        // do something...
       
        return $a;
    }
}

$reflection = new ReflectionClass('Test');

foreach($reflection->getMethods() as $methods){
    foreach($methods->getParameters() as $param){
        var_dump($param->isArray());
    }
}

//bool(true)
//bool(false)
To Top