2009-10-29 31 views

Respuesta

6

Trate de usar la sintaxis de array asociativo, y echando a object:

$a = (object)array('name' => 'john', 'age' => 13); 
echo $a->name; // 'john' 
+1

Fundición parece el mejor método, pero creo que lo lanzas a (objeto) en lugar de (stdClass) según http://php.net/manual/en/language.types.type-juggling.php –

+0

@adam: lo tienes. ¿'StdClass' solía funcionar o algo así? Tengo en mi cabeza que funcionó una vez. –

+0

Creo que php siempre informa objetos como stdClass (con var_dump, etc.) pero el tipo real es objeto. Debería ser el mismo en ambas direcciones, si me preguntas. –

4

También puede hacer:

$a = new stdClass; 
$a->name = 'john'; 
$a->age = 13; 
1

Otra forma:

$text = '{"name": "john", "age": 13}'; 
$obj = json_decode($text); 
+0

Requiere mucho más procesamiento que lanzar una matriz a un objeto. – steampowered

Cuestiones relacionadas