我找不到什么是内置类型的列表。这是我目前为止找到的
string
float
bool
int
iterable (Iterator 反映为类型 iterable)
mixed
array
这些不符合内置类型
Closure
Stringable
Generator
Traversable
Serializable
Throwable
IteratorAggregate
ArrayAccess
WeakReference
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() 方法。
我找不到什么是内置类型的列表。这是我目前为止找到的
string
float
bool
int
iterable (Iterator 反映为类型 iterable)
mixed
array
这些不符合内置类型
Closure
Stringable
Generator
Traversable
Serializable
Throwable
IteratorAggregate
ArrayAccess
WeakReference
JsonSerializeable
内置类型 () 是
- `array`
- `callable`
- `bool`
- `float`
- `int`
- `string`
- `iterable`
- `object`
- `mixed`
注意:从 https://php.net/language.types.declarations#language.types.declarations.base 中的列表进行测试。
`self` & `parent` 不包含在内。