如何访问第N个对象属性名称?

时间:2015-04-23 14:15:41

标签: php arrays object type-conversion

我有一个包含未知数量属性的对象,有没有办法在PHP中获取此对象的第N个属性名?

我希望它类似于下面的代码,除了这只适用于数组,而不是对象:

$key = array_keys($obj)[$i];

假设以下输入:

$obj = stdClass Object
        (
            [ID] => 1
            [name] => Mary Jane
            [count] => 420
        )
$i = 1;

我希望输出为:

ID

3 个答案:

答案 0 :(得分:5)

首先将对象转换为数组:

$key = array_keys((array)$obj)[$i];

答案 1 :(得分:2)

http://php.net/manual/en/function.get-object-vars.php

你可以使用  get_object_vars()

答案 2 :(得分:0)

刚试过foreach:

each_with_index

它有效,但你需要一个计数器根据迭代次数递减然后中断。

编辑:get_object_vars更好,sry。