2012-04-05 7 views
0

Hallo Ich habe eine Std-Klasse-Objekt mit Objekten darin, wenn ich es als ein Array zu werfen, wird nur die erste Ebene in ein Array geändert. Gibt es einen Grund, die Unterobjekte auch als Arrays zu verwenden?Cast-Array über die erste Ebene

var_dump ($ heyo);

object(stdClass)#167 (27) { 
    ["uid"]=> object(stdClass)#166 (1) { 
     ["1"]=> int(15) 

var_dump ((Array) ($ heyo));

array(27) { 
    ["uid"]=> object(stdClass)#166 (1) { 
     ["1"]=> int(15) 
+0

könnte auf Arrays rekursiv konvertieren Sie uns einige Code-Beispiel? – Shoe

+1

Ich würde gerne mehr Details wissen. Wie besetzst du? Wie sieht das Objekt aus? Ist es von variabler Tiefe, oder ist es fest? – Hubro

+0

@ Codemonkey behoben –

Antwort

1

fand ich diese Funktion bei if-not-true-then-false.com

function objectToArray($d) { 
    if (is_object($d)) { 
     // Gets the properties of the given object 
     // with get_object_vars function 
     $d = get_object_vars($d); 
    } 

    if (is_array($d)) { 
     /* 
     * Return array converted to object 
     * Using __FUNCTION__ (Magic constant) 
     * for recursive call 
     */ 
     return array_map(__FUNCTION__, $d); 
    } 
    else { 
     // Return array 
     return $d; 
    } 
} 

Es wird Ihr stdClass Objekte zeigen

Verwandte Themen