Nasıl bir dizi için bir nesne dönüştürebilirim?
<?php
print_r($response->response->docs);
?>
Çıktıları aşağıdaki gibidir:
Array ( [0] => Object ( [_fields:private] => Array ( [id]=>9093 [name]=>zahir) Object ( [_fields:private] => Array ( [id]=>9094 [name]=>hussain)..)
Nasıl bir dizi bu nesneyi dönüştürebilirsiniz? Aşağıdaki çıktıyı almak istiyorum:
Array([0]=>([id]=>9093 [name]=>zahir) [1]=>([id]=>9094 [name]=>hussain)...)
Bu mümkün mü?
CEVAP
Tek boyutlu diziler
Tek boyutlu diziler dönüştürme için (array)
kullanarak veya Benoit bahseden, get_object_vars
var çevirebilirsiniz
his answer.
// Cast to an array
$array = (array) $object;
// get_object_vars
$array = get_object_vars($object);
Birbirinden biraz farklı çalışıyorlar. Örneğin, get_object_vars
yolunuz nesne kapsamının (nesnenin bir üye işlevi yani) içinde denir sürece, sadece kamuya açık özellikleri ile bir dizi döndürür. (array)
öte yandan, elbette kamu, özel ve korunan tüm üyeleri dizi sağlam bir dizi, ama tüm halka şimdi atın.
Çok boyutlu diziler
Biraz pis bir yöntem PHP ^ kullanmaktır . = 5.2 yerel JSON JSON kodlamak için fonksiyonları ve sonra tekrar bir dizi çözmek için. Bu özel ve korunan üyeleri, ancak içermez.
// 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 özel ve korunan üyeleri de dahil olmak üzere bir dizi here alınan ve döküm kullanmak için modifiye edilmiş 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);
}
Nasıl powershell'de bir dize için bir ...
Nasıl string bir dizi nesne dizisi dön...
Nasıl PHP nesne için bir dizi dönüştür...
Bir döngü içinde nesne harfleri bir di...
Nasıl sil foreach döngü içinde dizi ne...