2012-12-23 6 views
1

희망을 보내 주시면 감사하겠습니다.PHP가있는 배열의 Acces 객체

다른 방법을 시도했지만이 문제를 해결할 수 없습니다.

Array 
(
[1] => CntProviderIncentiveResult Object 
    (
     [_StartDate:protected] => 1356303600 
     [_EndDate:protected] => 1356908400 
     [_ProviderRoom:CntProviderIncentiveResult:private] => 1 
     [_RoomName:CntProviderIncentiveResult:private] => Doble 
     [_RoomCode:CntProviderIncentiveResult:private] => 2370 
     [_PropertyCode:CntProviderIncentiveResult:private] => anglers 
     [_Occupancy:CntProviderIncentiveResult:private] => 
     [_Currency:CntProviderIncentiveResult:private] => 
     [_AllocationGroup:CntProviderIncentiveResult:private] => 
     [_FreeSaleGroup:CntProviderIncentiveResult:private] => 
     [_StopSaleGroup:CntProviderIncentiveResult:private] => 
     [_ReleaseGroup:CntProviderIncentiveResult:private] => 
     [_MinStayGroup:CntProviderIncentiveResult:private] => 
     [_UpdateRequirement:CntProviderIncentiveResult:private] => 

) ) 내가 배열의 키 설정을 새로운 배열로 객체 중 하나를 할당하려고

:

$ConfirmRoom = $ConfirmRoomData[$roomKey]; 

나는 내부 객체 배열을 가지고 여기서 $roomKey은 배열 키입니다. (1, 20, 21)

잘 수행하면 내가 확인 후 :

if ($ConfirmRoom instanceof CntProviderIncentiveResult) {echo "OK";} 

그러나 새로운 객체 $ConfirmRoom는 항상 비어 있습니다.

빛을 보게 해주시겠습니까?

+2

당신은 중요한 데이터를이 코드를 편집하고 제공 할, 수 있고이 배열의 첫 번째 수준에 문제가 있기 때문에, 우리는 내부 객체의 모든 세부 사항을 알 필요는 없습니다. –

+0

보호 된 인덱스 또는 개인 인덱스에 액세스 할 수 없습니다. –

답변

1

먼저 var_dump($ConfirmRoom)을 시도해보십시오.

또한 isset($ConfirmRoomData[$roomKey])이고 큰 배열은 실제로 $ConfirmRoomData이어야합니다.

다음은 문제를 해결하는 데 도움이되는 몇 가지 기본적인 디버깅 단계입니다. 내 생각 엔 $roomKey이 제대로 정의되지 않았을 것입니다.

1

마지막으로 내가 해결 :

foreach ($ConfirmRoomData as $key => $value) { 
if (is_object ($value)) { 
if ($key == $roomKey){ 
              $ConfirmRoom = $value; 
} 

} }