2011-01-10 10 views
5

Duplicar posibles:
How to access object properties with names like integers?Cómo acceder a la propiedad php rizado objeto corsé

print_r($myObj) da el siguiente resultado:

stdClass Object 
(
    [4021450] => stdClass Object 
    (
     [property1] => ooo 
     [property2] => xxx 
    ) 
    [3971601] => stdClass Object 
    (
     [property1] => 123 
     [property2] => 356 
    ) 
) 

¿Cómo puedo usar la sintaxis de corchete con variable para acceder al sub-object?

me trataron:

$myObj->'3971601';      // Parse error: syntax error 
$myObj->{'3971601'};     // Works 
$id = 3971601; $myObj->{$id};   // Notice: Trying to get property of non-object 
$id = 3971601; $myObj->{''.$id};  // Notice: Trying to get property of non-object 
$arr = (array)$myObj; $arr[3971601]; // Notice: Undefined offset: 3971601 
$arr = (array)$myObj; $arr['3971601']; // Notice: Undefined index: 3971601 

Respuesta

3

usted debería ser capaz de omitir las llaves en su totalidad: $myObj->$id. Sus últimos 4 ejemplos, sin embargo, indican que algo anda mal. Parece que en algún lugar a lo largo de las líneas, $myObj se estableció null o en algún otro valor no objeto.

Cuestiones relacionadas