Esta es el arreglo más correcta que encomtrarás dar, sin embargo estúdiala pausadamente y valora si es compatible a tu proyecto.
Solución:
Solo encasillalo
$array = (array) $yourObject;
Desde arreglos:
Si un objeto se convierte en un arrayel resultado es un array cuyos elementos son las propiedades del objeto. los keys son los nombres de las variables miembro, con algunas excepciones notables: las propiedades enteras no son accesibles; las variables privadas tienen el nombre de la clase antepuesto al nombre de la variable; las variables protegidas tienen un ‘*’ antepuesto al nombre de la variable. Estos valores antepuestos tienen null bytes a cada lado.
Ejemplo: objeto simple
$object = new StdClass;
$object->foo = 1;
$object->bar = 2;
var_dump( (array) $object );
Producción:
array(2)
'foo' => int(1)
'bar' => int(2)
Ejemplo: objeto complejo
class Foo
private $foo;
protected $bar;
public $baz;
public function __construct()
$this->foo = 1;
$this->bar = 2;
$this->baz = new StdClass;
var_dump( (array) new Foo );
Salida (con s editado para mayor claridad):
array(3)
' Foo foo' => int(1)
' * bar' => int(2)
'baz' => class stdClass#2 (0)
Salida con var_export
en lugar de var_dump
:
array (
'' . " " . 'Foo' . " " . 'foo' => 1,
'' . " " . '*' . " " . 'bar' => 2,
'baz' =>
stdClass::__set_state(array(
)),
)
Encasillar de esta manera no hará una conversión profunda del gráfico de objetos y necesita aplicar el null bytes (como se explica en la cita manual) para acceder a cualquier no público attributes. Por lo tanto, esto funciona mejor cuando se emiten objetos StdClass u objetos con solo propiedades públicas. Para rápido y sucio (lo que pediste) está bien.
También vea esta entrada de blog en profundidad:
- Conversión rápida de objeto PHP a matriz
Puede convertir rápidamente objetos profundamente anidados en matrices asociativas confiando en el comportamiento de las funciones de codificación/descodificación de JSON:
$array = json_decode(json_encode($nested_object), true);
Desde el primer hit de Google para “Objeto PHP para asociar array“tenemos esto:
function object_to_array($data)
La fuente está en codesnippets.joyent.com.
Te invitamos a auxiliar nuestra faena fijando un comentario y puntuándolo te estamos agradecidos.