저는 초보자 PHP 프로그래머입니다. 나는 오늘 문제를 만났다. 여기있는 것.중첩 된 엔티티가 많이있는 배열을 읽는 방법
는 나는이 structrue 같은 몇 가지 결과를 얻으려면이
$array = array("id" => 1,
"region"=>"world",
"parentid" => 0,
"children" => array("id" => 39,
"region"=>"asia",
"parentid" => 1,
"children" => array("id" => 70,
"region"=>"china",
"parentid" => 39
)
)
);
같은 배열을 가지고있다.
world
|- asia
|----- china
여기 내 코드입니다. 작동하더라도 매우 안좋아 보입니다. 그러나 레벨이 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;
문제를 해결하려면 더 나은 해결책이 있어야합니다. 어떤 도움을 주시면 감사하겠습니다.
아마도 재귀 함수를 작성하고 싶을 것입니다. – Rizier123
당신은 재귀 함수를 작성해야합니다. – Manish
재귀 함수를 작성하는 방법을 알려주는 몇 가지 링크를 살펴보십시오. [https://www.copterlabs.com/build-menu-with-recursive-functions/] [http://lornajane.net/posts/2012/php-recursive-function-example-factorial-numbers] – Manish