ReflectionParameter::isArray

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

ReflectionParameter::isArrayChecks if parameter expects an array

Warnung

Diese Funktion ist seit PHP 8.0.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.

See the example below for an alternative way to derive this information.

Beschreibung

public ReflectionParameter::isArray(): bool

Checks if the parameter expects an array.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

true if an array is expected, false otherwise.

Beispiele

Beispiel #1 PHP 8.0.0 equivalent

As of PHP 8.0.0, the following code will report if a type declares arrays, including as part of a 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));
}
?>

Siehe auch

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