Как я могу получить доступ к имени свойства N-го объекта?

У меня есть объект, содержащий неизвестное количество свойств, есть ли способ получить N-ное имя свойства этого объекта в PHP?

Я ожидаю, что это будет что-то похожее на следующий код, за исключением того, что это будет работать только с массивом, а не объектами:

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

Предполагая следующий вход:

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

Я ожидаю, что результат будет:

ID

2

Решение

Сначала приведите ваш объект к массиву:

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

Другие решения

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

Ты можешь использовать
get_object_vars()

2

Просто попробовал с foreach:

foreach ($obj as $attr)
{
var_dump($attr);
}

Это работает, но вам понадобится счетчик для уменьшения в зависимости от количества итераций, а затем прерывания.

Изменить: get_object_vars лучше, sry.

0
По вопросам рекламы [email protected]