2010-08-02 5 views
0

데이터 세트를 출력하려고하는데 일치하는 행이 여러 개인 LEFT OUTER JOIN입니다.PHP : 객체 배열에있는 요소에 직접 액세스

다음 행이 첫 번째와 동일한 ID인지 확인하기 위해 긍정적 인 시각을 사용하고 있습니다. 그러나 데이터베이스 클래스에서 반환하면 객체 배열이 반환됩니다. Fatal error: Cannot use object of type stdClass as array

내 코드는 다음과 같다 나는 다음과 같은 오류를 얻고있다

array(7) { 
      [0]=> object(stdClass)#4 (8) { 
             ["dom_id"]=>string(1) "3" 
             ["domain"]=>string(11) "example.com" 
             ["status"]=>string(7) "Invalid" 
             ["expiry"]=>string(10) "2010-07-20" 
             ["remaining"]=>string(6) "0 Days" 
             ["rem_id"]=>NULL 
             ["alert_type"]=>NULL 
             ["contact"]=>NULL 
    } 
//etc 

,

echo $domains[$k+1]->alert_type; 

나는 내가 그 개체로 변수 및 액세스에 새로운 차원을 할당 할 수 있다는 것을 알고있다 , 그러나 깔끔함을 위해서 나는 차라리 그것을 직접 접근하고 싶다.

이것이 가능합니까? .. 그리고 있다면, 어떻게 접근해야합니까?

  • typecast to (array)또는
  • ArrayAccess를 구현하는 사용자 정의 클래스를 사용 stdClass 대신 array 또는

  • 답변

    2

    어느

    • 을 가져옵니다.
    +0

    Eish, 나는 단지 변수에 할당 할 것입니다. 답장을 건네줍니다. –

    0

    $domains 당신이 배열 좋겠어요 당신의 stdClass 객체라고 가정하면, variable variables를 사용하여 시도 할 수 :

    echo $domains->{$k+1}->alert_type; 
    

    하지만 진짜 문제는 stdClass 개체의 무리를 가지고있다. 이 파일들을 세션에 저장하고 나중에 읽는가, 아니면 파일이나 무언가를 무시하는 것을 무시하고 있습니까?

    +0

    데이터베이스 클래스가 누락 된 것으로 생각되지 않거나 쿼리가 작동하지 않습니다. 그것은 바로 db -> 디스플레이 페이지입니다. –