So habe ich eine Funktion, die durch Objekte rekursiven Schleifen, verursachen einige von Object Objekte in zum Beispiel haben die ObjektPersonObjektAdress und Puts enthalten sie in ein Array.find Array nach Schlüsseln in Array, und legen Sie Wert
so dass im Grunde kann dies eine Struktur aus einem Modell sein:
[obj] Neededforexample
- [obj] person
-- [prop] first-name
-- [obj] adress
- SomeProperty
also die Funktion, die durch sie Schleifen abgeschlossen ist:
private static function SetPropertiesArray($class,$parentClass = null){
$object = new $class;
$objectProperties = get_object_vars($object);
foreach($objectProperties as $prop => $value){
//echo $prop;
if(class_exists($prop)){
if($parentClass !== null){
self::$_propertiesArray[$parentClass][$prop] = $value;
}
else{
self::$_propertiesArray[$prop] = $value;
}
self::SetPropertiesArray($prop,$prop);
}
else{
if($parentClass !== null){
self::$_propertiesArray[$parentClass][$prop] = $value;
}
else{
self::$_propertiesArray[$prop] = $value;
}
}
}
return self::$_propertiesArray;
}
Diese dieses Array-Ausgänge:
"NeededForExample" => array(
"Person" => null,
"SomeProperty" => "Somevalue",
"First-name" => "Firstname",
"adress" => "HERE")
Während ich will:
"NeededForExample" => array(
"Person" => array(
"First-name" => "firstname",
"adress" => array(
"street" => "streetname"
)
),
"SomeProperty" => "Somevalue")
Konnten Sie 1 oder 2 Elemente im ursprünglichen Array mit Ihren Daten/Objekten posten? Dies ist so, dass wir die Struktur ein bisschen sehen können. Sie könnten ein 'var_dump()' auf Ihren Daten machen und die ersten 1 oder 2 Elemente kopieren. – Poiz
{"Person": {"SurName ": null," Nachname ": null," BurgerServiceNummer ": null," Adresse ": null}," Adresse ": {" Straße ": null," ZipCode ": null," Stadt ": null," Land ": null}, "Nachricht": null} –
Die Zeile 'if (class_exists ($ prop)) {'; sollte es nicht 'if (class_exists ($ class)) {'? Weil "$ prop" wie die Eigenschaft der fraglichen '$ class' aussieht und nicht die Klasse selbst ... und' get_object_vars' gibt ein Array zurück, das die Eigenschaften eines Objekts enthält ... aber nicht die Klasse selbst .... – Poiz