Ich bin ein Anfänger PHP-Programmierer. Ich habe heute ein Problem gefunden. hier die Sache.Wie liest man ein Array, das viele verschachtelte Entity
Ich habe ein Array wie diese
$array = array("id" => 1,
"region"=>"world",
"parentid" => 0,
"children" => array("id" => 39,
"region"=>"asia",
"parentid" => 1,
"children" => array("id" => 70,
"region"=>"china",
"parentid" => 39
)
)
);
ich einige Ergebnis wie dieses structrue erhalten möchten.
world
|- asia
|----- china
Hier ist mein Code, es sieht sehr schlecht aus, obwohl es funktioniert. aber es würde nicht gut funktionieren, wenn das Niveau mehr als 3.
$array = array();
$count = 0;
for ($i = 0; $i < count($dep); $i++) {
$array[]["region"] = $dep[$i]["region"];
if (isset($dep[$i]["children"])) {
for ($ii = 0; $ii < count($dep[$i]["children"]); $ii++) {
$array[]["region"] = $dep[$i]["children"][$ii]["region"];
if (isset($dep[$i]["children"][$ii]["children"])) {
for ($iii = 0; $iii < count($dep[$i]["children"][$ii]["children"]); $iii++) {
$array[]["region"] = $dep[$i]["children"][$ii]["children"][$iii]["region"];
}
}
}
}
}
return $array;
Es muss eine bessere Lösung geben, um das Problem zu lösen. Jede Hilfe wäre zu schätzen.
Sie möchten wahrscheinlich eine rekursive Funktion dafür schreiben. – Rizier123
müssen Sie eine rekursive Funktion schreiben. – Manish
Blick auf einige Link, der Ihnen eine Vorstellung geben, wie rekursive Funktion [https://www.copterlabs.com/build-menu-with-recursive-functions/] schreiben [http://lornajane.net/posts/2012/php-recursive-function-example-faktorial-nummern] – Manish