Single-dimensional arrays
For converting single-dimension arrays, you can cast using (array) or there's get_object_vars, which Benoit mentioned in
his answer.
// Cast to an array
$array = (array) $object;
// get_object_vars
$array = get_object_vars($object);
Bunlar, birbirinden biraz farklı çalışır. Eğer (nesnenin bir üye işlevi yani) geçiyoruz nesnenin kapsamında denir sürece Örneğin, get_object_vars sadece kamuya açık özelliklere sahip bir dizi döndürür. (array), diğer taraftan, dizide bozulmamış tüm kamu, özel ve korumalı üyeleri ile bir dizi artığını olsa tabii şimdi tüm kamu,.
Multi-dimensional arrays
Bir biraz kirli bir yöntem JSON kodlamak ve sonra tekrar bir dizi çözmek için PHP> = 5.2 'in yerel JSON fonksiyonlarını kullanmaktır. Ancak bu, özel ve korumalı üyeleri dahil değildir.
// The second parameter of json_decode forces parsing into an associative array
$array = json_decode(json_encode($object), true);
Alternatif olarak, aşağıdaki işlev here alınan ve döküm kullanmak için modifiye özel ve korunan üyeleri dahil bir dizi, bir nesneden dönüştürür:
function objectToArray ($object) {
if(!is_object($object) && !is_array($object))
return $object;
return array_map('objectToArray', (array) $object);
}