2014-11-28 2 views
-1

이 개체를 $ results에 액세스하려고하는데 첫 번째 에코와 print_r이 예상되는 결과를 제공하는 이유를 알 수 없지만 마지막 에코는 나에게 "정의되지 않은 속성"오류를 표시합니다. .PHP 개체의 정의되지 않은 속성

foreach($results as $number => $hotel){ 
    echo $number; 
    print_r($hotel); 
    echo $results->{$number}; 
} 

----------------------------------- 더 나은 설명 ---- -----------------------------

나를 도울 다른 정보가 필요하다는 것을 알았습니다.

$ 결과는 쿼리 결과를 포함하는 개체입니다.이 개체는 호텔 (개체)의 lis를 포함하며 모든 개체는 일부 필드 -> 값으로 설명됩니다. 이 개체를 수정하기 위해 내가 객체 $ 결과의 항목을 참조하는 방법을 찾고 있었다, 나는이 방법은 $ 결과라고 생각했습니다 (객체 $ 결과에서 한 호텔을 삭제)에서 -> {$ 번호}

그래서 내가 정말하고 싶은 일이 있습니다 :

foreach($results as $number => $hotel){ 
    foreach($hotel as $field => $value) { 
     if($field == 'id' && $value == '18'){ 
      // here I wanna delete the hotel from the object $results 
      // but unset($results->{$number}) doesn't work. 

     } 
    } 
} 
+0

세 번째 '개체'를 디버깅 할 수 있습니다. – SuperBear

+3

'$ results [$ number]'를 사용해보십시오. 아마 배열을 사용하고 있다는 것을 의미하는 foreach를 사용하고 있습니다. 나에게 오류 오류를 제공합니다 : – Jerodev

+0

당신이 인 print_r – codinginsane

답변

0

foreach는 당신이 normaly 배열로 사용되는 표시한다. 따라서 아이템에 액세스하려면 [] 좋은 연산자를 사용해야합니다. foreach에서 $ 숫자가 키이고 $ 호텔은 배열의 항목입니다.

호텔에 액세스하려면 $ 결과 [$ 번호]

관련 문제