我正在处理类别和子类别部分,我想在其中显示各自类别下的所有子类别。
它类似于Wordpress Category Sub Category 显示。我想在 Codeigniter 中运行这个东西。
下面是我的数组
Array
(
[0] => Array
(
[name] => 1 Category
[children] => Array
(
[0] => Array
(
[name] => 1 Sub Category
)
[1] => Array
(
[name] => 2nd 1 Sub Category
)
)
)
[1] => Array
(
[name] => 6 Category
[children] => Array
(
[0] => Array
(
[name] => 6 Sub Category
[children] => Array
(
[0] => Array
(
[name] => 2 Sub Category
[children] => Array
(
[0] => Array
(
[name] => 7 Sub Category
)
)
)
)
)
)
)
)
我的愿望是:
1 Category
- 1 Sub Category
- 2nd 1 Sub Category
6 Category
- 6 Sub Category
- 2 Sub Category
- 7 Sub Category
另一个期望的输出:
<select>
<option>1 Category</option>
<option>- 1 Sub Category</option>
<option>- 2nd 1 Sub Category</option>
<option>6 Category</option>
<option>- 6 Sub Category</option>
<option>- - 2 Sub Category</option>
<option>- - - 7 Sub Category</option>
</select>
我希望我清楚我的问题和期望的输出。
最佳答案
我创建了一个函数,它会为您的输入返回 ul、li 结果。试试这个。
get_category($array);
function get_category($array) {
echo '<ul>';
foreach($array as $category) {
echo '<li>';
echo $category['name'];
if(isset($category['children'])) {
get_category($category['children']);
}
echo '</li>';
}
echo '</ul>';
}
选择输出的更新
echo '<select>';
get_category($array);
echo '</select>';
function get_category($array, $prefix = '') {
foreach($array as $category) {
echo '<option>';
echo $prefix . $category['name'];
echo '</option>';
if(isset($category['children'])) {
get_category($category['children'], $prefix.'- ');
}
}
}
关于php - 以嵌套格式显示类别和子类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39222311/