PHP Conference Japan 2024

ReflectionParameter::isArray

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

ReflectionParameter::isArray检查参数是否期望一个数组

警告

此函数自 PHP 8.0.0 起已弃用。强烈建议不要依赖此函数。

请参见下面的示例,了解获取此信息的替代方法。

描述

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

检查参数是否期望一个数组。

参数

此函数没有参数。

返回值

如果期望一个array,则返回true;否则返回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));
}
?>

参见

添加备注

用户贡献笔记

此页面没有用户贡献的笔记。
To Top