Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2011, 17:00
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Evitar el "notice" al recorrer objeto

Buenas,

Estoy teniendo varios errores notice cuando intento acceder a una posición de un objeto que no existe. El problema es que no consigo controlar esta excepción.

Notice: Undefined property: stdClass::$BFEvent in C:\wamp\www\test\script.php on line 135

La idea es la siguiente

Código PHP:
Ver original
  1. $getEventResp = $bf->bf_global_api->bf_get_events($sessionToken, $eventId);
  2.    
  3.     echo "<pre>";print_r($getEventResp);echo "</pre>";
  4.     echo "CONTADOR = ".count($getEventResp->Result->eventItems).'<BR/>';
  5.         $array=array();
  6.         try {
  7.             if ($getEventResp->Result->eventItems->BFEvent){
  8.                 echo "<h1>Todo correcto </h1>";
  9.             }
  10.         }catch (Exception $e) {
  11.             echo 'No existe el objeto: ',  $e->getMessage(), "\n";
  12.         }

El problema es esta linea

$getEventResp->Result->eventItems->BFEvent

No siempre el objeto eventItems tiene el BFEvent y cuando no lo tiene me da el error que veis

Notice: Undefined property: stdClass::$BFEvent in C:\wamp\www\test\script.php on line 135

No encuentro de qué manera puedo mirar si el eventItems tiene o no el BFEvent para acceder a él. Lo probé contando el objeto eventItems, pero siempre me da 1...

Se os ocurre alguna forma?

Muchas gracias de antemano