【发布时间】:2015-07-01 19:09:28
【问题描述】:
我有一个包含未知数量属性的对象,有没有办法在 PHP 中获取该对象的第 N 个属性名称?
我希望它类似于下面的代码,但它只适用于数组,而不适用于对象:
$key = array_keys($obj)[$i];
假设以下输入:
$obj = stdClass Object
(
[ID] => 1
[name] => Mary Jane
[count] => 420
)
$i = 1;
我希望输出是:
ID
【问题讨论】:
-
$obj 不是一个数组,那么你为什么期望一个数组函数可以这样处理它呢?对象不是数组,也没有键,它们有属性
-
是的,我知道这段代码不起作用,我在问是否有等价的
-
将对象转换为数组
$obj = (array) $obj; -
$key = array_search($i, (array)$obj);
标签: php arrays object type-conversion