PHP Печать ключей с объекта?

У меня есть объект BIRD, а затем есть [0] - [10], и каждое число имеет подзаголовок, например "ошибка" или "жук" или "gnat", и значение для каждого из них.

Я хочу напечатать

BIRD 
    [0]
       bug = > value 

Я не могу узнать, как это сделать в любом месте - есть разговоры о PUBLIC, PRIVATE и CLASS и о том, где я падаю

Ответ 1

Я мог ошибаться, но стараюсь использовать array_keys, используя объект как параметр. Я считаю, что это возможно в php. http://php.net/manual/en/function.array-keys.php

В любом случае, читайте о рефлексии.

Ответ 2

Вы можете легко сделать это, наведя тип объекта:

$keys = array_keys((array)$BIRD);

Ответ 3

Подобно запросу brenjt, это использует PHP get_object_vars вместо того, чтобы набирать объект.

$array = get_object_vars($object);
$properties = array_keys($array);

Ответ 4

Если "объект" на самом деле является ассоциативным массивом, а не истинным объектом, то array_keys() даст вам то, что вам нужно, без предупреждений или ошибок.

С другой стороны, если ваш объект является истинным объектом, вы получите предупреждение, если попытаетесь использовать array_keys() напрямую.

Вы можете извлечь пары ключ-значение из объекта в виде ассоциативного массива с помощью get_object_vars(), затем вы можете получить ключи из этого с помощью array_keys():

$keysFromObject = array_keys(get_object_vars($anObject));