Ich möchte Elemente in einem Array rekursiv suchen und ersetzen.PHP rekursive suchen und ersetzen Array-Elemente
Das Array Baum basiert sieht so wie
Object
Children
Object type A
Object type B
Object
Children
Object type A
Object
usw.
Ich möchte bestimmte Gegenstände mit anderen Gegenständen ersetzen zu können, so zum Beispiel, ich in der alle Einträge ersetzen wollen Array (auf welcher Tiefenebene) von Typ A mit einem Array vom Typ B. Aber hier ist der Haken: Die neu ersetzten Objekte können auch Children vom Typ A haben, die ersetzt werden müssen.
Bisher habe ich
bekamforeach($nodes as &$node) {
// Replace node?
if($node['type'] == 'RefObject') {
$n = $this->site->get_node_where('id', $node['node_ref']);
// Replace node
$node = $this->site->get_node_where('object_id', $n['object_id']);
// Get children
$node['children'] = $this->site->get_descendants($node['lft'], $node['rgt']);
}
}
return $nodes;
, die die erste Stufe der RefObjects ersetzen wird, sondern die später hinzugefügt Kinder nicht suchen.
Ich habe stundenlang mit diesem Kopf meinen Kopf gegen eine Wand geschlagen. Bitte helfen Sie!
Prost, Gaz.
Sie müssen eine Art der Überprüfung der Funktion hinzufügen, wenn nichts von den Kindknoten zurückgegeben wird, sonst wird es in einer Schleife stecken bleiben – Josh