2012-04-13 13 views
5

Hola estoy haciendo esta llamada:Aviso: propiedad indefinida: ¿cómo puedo evitar ese mensaje en PHP?

$parts = $structure->parts; 

Ahora $ estructura sólo tiene partes en circunstancias especiales, por lo que me devuelve la llamada nulo. Eso está bien conmigo, tengo un if ($ parts) {...} más adelante en mi código. Por desgracia después de que el código termina de ejecutarse, me sale este mensaje:

Notice: Undefined property: partes stdClass :: $ en ...

¿Cómo puedo suprimir este mensaje?

Gracias!

Respuesta

14

La función isset debería hacer exactamente lo que necesita.

PHP: isset - Manual

Ejemplo:

$parts = (isset($structure->parts) ? $structure->parts : false); 
+0

Gracias aprendido algo nuevo :)! ** Resuelto ** – EOB

+0

+1 Me ayudó con un problema similar – AdRock

3

tal vez esto

$parts = isset($structure->parts) ? $structure->parts : false ; 
0

Con la ayuda de property_exists() se puede quitar fácilmente aviso "Undefined property" de su archivo php.

A continuación se presenta el ejemplo:

if(property_exists($structure,'parts')){ $parts = $structure->parts; }

Para saber más http://php.net/manual/en/function.property-exists.php

Cuestiones relacionadas