2009-08-30 8 views
0

I가 "$ 순서"라고 다음과 같은 배열 ("인 print_r"에 의해 인쇄 등) :다차원 배열을 올바르게 참조하는 방법은 무엇입니까?

stdClass Object 
(
    [products] => Array 
    (
     [0] => stdClass Object 
     (
      [data] => Array 
      (
       [attributes] => Array 
       (
        [ID] => Array 
        (
         [0] => 57 
        ) 
       ) 
      ) 
     ) 
    ) 
) 

내 질문은, 어떻게 "57"을 참조 할입니까? 나는 그것이 다음과 같이 될 것이라고 생각했다 :

$order->products[0]->data[attributes][ID][0]; 

그러나 이것은 작동하지 않는다. 내가 뭘 놓치고 있니?

답변

2
$order->products[0]->data['attributes']['ID'][0] 
+0

아래의 내 방법과 방법이 작동하는 이유에 대해 알아 보려면주의하십시오. 나는 이것을 전혀 이해하지 못한다 ... – coderama

+0

따옴표가 빠져 있습니다. 때로는 문자열로 작동하지만 ID가 상수 일 경우 엉망이 될 수 있습니다. – cletus

0

Nevermind. 그것은 다음과 같습니다 : $ order-> products [0] -> data [ "attributes"] [ "ID"] [0];

2

배열 키에 대한 인용 부호가 누락되었습니다. 그렇지 않으면 PHP는 attributes 또는 ID이 상수라고 생각합니다 (define('ID', 'foobar'); echo ID;).

$order->products[0]->data['attributes']['ID'][0]; 
관련 문제