Доступ к цифровому имени объекта ($a->2)

Solid

Drosera anglica
Доступ к цифровому имени объекта ($a->2)

Имеется код:
Код:
<?php
$var = array(
	new stdClass(),
	2=>array
	(
		'2'=>'string',
		5=>33,
		'array'=>array('2',3=>'string')
	),
	'string',
	6=>'string',
	'5'=>555
);
$json = json_encode($var);
//echo $json;
//var_dump(json_decode($json));
$json = json_decode($json);
var_dump($json); // требуется получить доступ к объекту 2 ($json->2)
?>
В предпоследней строке требуется получить доступ к объекту 2.
Какие существуют методы?
 

Wicked

Новичок
kruglov
а причему тут массив?
var_dump($json[2]); // Fatal error: Cannot use object of type stdClass as array in ... on line 19

Solid
var_dump($json->{2});

-~{}~ 25.10.06 14:16:

но лучше don't do that then
 

XtremallyPurpur

Новичок
PHP:
  class FakeArray implements ArrayAccess {
    // реализация методов интерфейса ArrayAccess из SPL
  }

  $fakeArr = new FakeArray();
  $fakeArr["2"] = "bla-bla";
  echo $fakeArr["2"];
  // bla-bla
Подробнее,
http://php.net/spl
 

Solid

Drosera anglica
Wicked
Спасибо и совершенно с вами согласен, что лучше так не делать, однако, бывают исключения.

XtremallyPurpur
А смысл?
 
Сверху