Получить свойство объекта PHP, которое является числом

Я пытаюсь получить свойство из данных JSON, декодированных в объект PHP. Это просто запрос API данных YouTube, который возвращает видеообъект, у которого есть объект контента;

[content] => stdClass Object ( [5] => https://www.youtube.com/v/r4ihwfQipfo?version=3&f=videos&app=youtube_gdata [1] => rtsp://v4.cache7.c.youtube.com/CiILENy73wIaGQn6pSL0waGIrxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp [6] => rtsp://v6.cache3.c.youtube.com/CiILENy73wIaGQn6pSL0waGIrxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp ) 

дела

 $object->content->5 

Выбрасывает «неожиданный T_DNUMBER» – это имеет смысл. Но как мне получить значение свойства, которое является числом?

Я уверен, что должен это знать. Заранее спасибо.

Solutions Collecting From Web of "Получить свойство объекта PHP, которое является числом"

Это должно работать:

$object->content->{'5'}

Другая возможность – использовать 2-й параметр для json_decode:

 $obj = json_decode(str, true); 

Вы получаете массив вместо объекта PHP, который затем можно индексировать, как обычно:

 $obj['content'][5] 

Другой aproach отличает объект к массиву.

 $array = (array) $object; $array['content'][5]; 

JSON, а затем декодирует ваш объект, передавая true как второй параметр в функции декодирования. Это вернет ассоциативный массив.

 $array = json_decode(json_encode($object), true); 

Теперь вы можете использовать свой новый массив

 echo $array['content']['5']; 

Использование $object->content->{'5'} не будет работать, если объект был создан путем литья массива в объект.

Более подробное описание можно найти здесь: https://stackoverflow.com/a/10333200/58795