Ответ 1
Я мог ошибаться, но стараюсь использовать array_keys
, используя объект как параметр. Я считаю, что это возможно в php.
http://php.net/manual/en/function.array-keys.php
В любом случае, читайте о рефлексии.
У меня есть объект BIRD, а затем есть [0] - [10], и каждое число имеет подзаголовок, например "ошибка" или "жук" или "gnat", и значение для каждого из них.
Я хочу напечатать
BIRD
[0]
bug = > value
Я не могу узнать, как это сделать в любом месте - есть разговоры о PUBLIC, PRIVATE и CLASS и о том, где я падаю
Я мог ошибаться, но стараюсь использовать array_keys
, используя объект как параметр. Я считаю, что это возможно в php.
http://php.net/manual/en/function.array-keys.php
В любом случае, читайте о рефлексии.
Вы можете легко сделать это, наведя тип объекта:
$keys = array_keys((array)$BIRD);
Подобно запросу brenjt, это использует PHP get_object_vars
вместо того, чтобы набирать объект.
$array = get_object_vars($object);
$properties = array_keys($array);
Если "объект" на самом деле является ассоциативным массивом, а не истинным объектом, то array_keys()
даст вам то, что вам нужно, без предупреждений или ошибок.
С другой стороны, если ваш объект является истинным объектом, вы получите предупреждение, если попытаетесь использовать array_keys()
напрямую.
Вы можете извлечь пары ключ-значение из объекта в виде ассоциативного массива с помощью get_object_vars()
, затем вы можете получить ключи из этого с помощью array_keys()
:
$keysFromObject = array_keys(get_object_vars($anObject));