Duplicar posible:
Casting an Array with Numeric Keys as an ObjectConversión a objetar una matriz indexada
Me preguntaba sobre (object)
tipo de colada.
Es posible hacer muchas cosas útiles, como la conversión de una matriz asociativa a un objeto, y algunos no tan útil y un poco raro (en mi humilde opinión ) cosas, como converting a scalar value to object.
Pero, ¿cómo puedo acceder al resultado del lanzamiento de una matriz indexada?
// Converting to object an indexed array
$obj = (object) array('apple', 'fruit');
¿Qué le parece el acceso a un valor específico?
print $obj[0]; // Fatal error & doesn't have and any sense
print $obj->scalar[0]; // Any sense
print $obj->0; // Syntax error
print $obj->${'0'}; // Fatal error: empty property.
print_r(get_object_vars($obj)); // Returns Array()
print_r($obj); /* Returns
stdClass Object
(
[0] => apple
[1] => fruit
)
*/
Los siguientes obras porque stdClass
implementos de forma dinámica y Countable
ArrayAccess
:
foreach($obj as $k => $v) {
print $k . ' => ' . $v . PHP_EOL;
}
Gracias por responder. Sé que está sucio y nunca lanzaré un conjunto indexado ... pero tengo curiosidad :-) Estaba buscando una manera _clean_ de hacer esto, no solo una solución alternativa. Después de que [Mattew] (http://stackoverflow.com/users/259778/matthew) se dio cuenta de mi pregunta duplicada, leí la respuesta aceptada y le sugerí una edición. –