루프를 만들어 각 범주 및 모든 하위 범주를 표시하려고합니다.이 경우 "for"루프 대신 "foreach"를 어떻게 사용합니까?
$Allcategories = array(
array(
array("Category 1", 'category1'),
array("Sub 1", 'sub1'),
array("Sub 2", 'sub2'),
array("Sub 3", 'sub3')
),
array(
array("Category 2", 'category2'),
array("Sub 1", 'sub1'),
array("Sub 2", 'sub2'),
array("Sub 3", 'sub3')
)
);
가 이미 작동하는 3 둥지에 대한 루프를했지만 나는 foreach
으로 단순화하고 싶습니다 :이 배열을 가지고있다. 문제는 내가이 결과를 얻고있다
foreach ($Allcategories as $val_1)
{
echo "<a href='index.php?category=", $val_1[0][1], "'>", $val_1[0][0], "</a>";
foreach ($val_1 as $val_2)
{
foreach ($val_2 as $val_3)
{
printf('<li><a href="index.php?category=%1$s">%1$s</a><br />', $val_3);
}
}
}
:
Category 1
-Category 1
-category1
-Sub 1
-sub1
-Sub 2
-sub2
원래 배열을 들여 썼으므로 깊이가 더 크게 보입니다. 코드 내에서 이러한 깊이 변경을 처리해야합니다. 그렇지 않으면 예상되는 데이터가 출력되지 않습니다. – hakre
오, 정말 고마워. 이제 더 좋아 보인다. 나는 두 번째 범주에 대한 해당 원치 않는 배열을 삭제했습니다. 나는 여전히 카테고리 1, 카테고리 1, 서브 1, 서브 1을 얻는다. 매우 혼란 스럽다. – eric01