我找不到符合内置条件的列表。以下是我目前所掌握的信息
字符串
浮点数
布尔值
整数
可迭代的(迭代器反映为类型可迭代的)
混合
数组
这些不符合内置条件
闭包
Stringable
生成器
可遍历的
可序列化的
可抛出的
迭代器聚合
数组访问
弱引用
JsonSerializeable
(PHP 7, PHP 8)
ReflectionNamedType::isBuiltin — 检查它是否为内置类型
此函数没有参数。
示例 #1 ReflectionNamedType::isBuiltin() 示例
<?php
class SomeClass {}
function someFunction(string $param, SomeClass $param2, stdClass $param3) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
var_dump($reflectionParams[0]->getType()->isBuiltin());
var_dump($reflectionParams[1]->getType()->isBuiltin());
var_dump($reflectionParams[2]->getType()->isBuiltin());
以上示例将输出
bool(true) bool(false) bool(false)
请注意,ReflectionNamedType::isBuiltin() 方法不区分内部类和自定义类。要进行此区分,应在返回的类名上使用ReflectionClass::isInternal() 方法。
我找不到符合内置条件的列表。以下是我目前所掌握的信息
字符串
浮点数
布尔值
整数
可迭代的(迭代器反映为类型可迭代的)
混合
数组
这些不符合内置条件
闭包
Stringable
生成器
可遍历的
可序列化的
可抛出的
迭代器聚合
数组访问
弱引用
JsonSerializeable
内置类型()是
- `array`
- `callable`
- `bool`
- `float`
- `int`
- `string`
- `iterable`
- `object`
- `mixed`
注意:根据https://php.net/language.types.declarations#language.types.declarations.base中的列表进行测试。
`self` & `parent` 未包含在内。