Ich habe ein drei Array und ich muss marge oder konvertieren zu flachen Array, aber ich kann nicht.Wie konvertiert man drei Arrays in flache Arrays?
Ich erstelle Baum mit diesem Code.
$fakepages = array();
$fakepages[0] = array('id' => 1, 'parent_id' => 0, 'title' => 'Parent Page');
$fakepages[1] = array('id' => 2, 'parent_id' => 1, 'title' => 'Sub Page');
$fakepages[2] = array('id' => 3, 'parent_id' => 2, 'title' => 'Sub Sub Page');
$fakepages[3] = array('id' => 4, 'parent_id' => 3, 'title' => 'Another Parent Page');
$fakepages[4] = array('id' => 5, 'parent_id' => 0, 'title' => 'Another Parent Page 5');
$fakepages[5] = array('id' => 6, 'parent_id' => 2, 'title' => 'Another Parent Page 5');
$tree = $this->buildTree($fakepages);
return $tree;
private function buildTree(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = $this->buildTree($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
und das ist meine Art oder marge oder irgendetwas Code. Was ist mein Code-Problem, wie kann ich das beheben und das linke Bild machen? private Funktion findchild ($ trees) { $ arr = array();
foreach ($trees as $tree) {
if (isset($tree['children'])) {
$this->mes[] = ['id'=>$tree['id'],'parent_id'=>$tree['parent_id']];
$arr[] = $this->findchild($tree['children']);
}
else{
$this->mes[] = ['id'=>$tree['id'],'parent_id'=>$tree['parent_id']];
$arr[] = $tree;
}
return $arr;
}
}
private $mes = [];
ich habe rechten Teil zu linken Teil konvertieren
@Dekel Ich muss sie in der Datenbank speichern und es dem Benutzer zeigen. –
Es sieht aus wie ein PHP-Code, aber Ihre Tags sind Javascript/Jquery. Nach welcher Sprache suchst du? – Dekel
Haben Sie selbst versucht, einen Code zu schreiben? – Dekel