2011-06-11 5 views
1

가능한 중복 : 데이터는 요청에 반환
How do I access this object property?액세스 stdClass 변수 이름

는 (JSON) :

stdClass Object 
(
[USD] => stdClass Object 
    (
     [7d] => 23.3414 

I 전화 :

json_decode(...); 

그리고 통해 액세스를 시도 :

echo $json->USD->7d; 

그러나 변수 이름은 정수로 시작할 수 없습니다 때문이 실패합니다. PHP에 액세스 할 수있는 구문이 있습니까?

그렇지 않으면 내가 수행하여이 문제를 해결할 것이가 작동

$set = (array) $json->USD; 
echo $set['7d']; 

답변

5

:

$name = '7bar'; 
$o->$name = 'foo'; 
echo $o->{'7bar'}; 

을 드문 이름으로 변수에 액세스하는 두 가지 방법이 있습니다 당신이 예에서 보듯이.

+1

멋진 에코 $ json-> USD -> { '7d'}; 효과가있었습니다. –

0

왜 변수 이름을 7d에서 d7로 변경하지 않습니까? 7d 레퍼런스에 대한 이유가 있습니까?

+0

내 데이터가 아니라 API 요청에 대한 응답입니다. –

5
json_decode($var, true); 

는 답변이 아니라 assoc 배열에 객체를 설정하지만 유형 변환 호출을 저장합니다.

+0

+1 멋지다, 나는 이것을 사용한다, 고마워. 하지만 나는 "flori"의 대답을 올바른 * 것으로 받아 들일 것입니다. –