PHP可以通过使用多维数组来实现二级分类。
- 首先,创建一个空数组,用于存储所有的分类信息,例如:
$categories = array();
- 接着,从数据源(例如数据库)中获取所有的分类数据,并将其存储到数组中。每个分类应该包含一个唯一的ID、名称和父级分类ID(如果是顶级分类,则父级分类ID为0)。例如:
// 从数据库中获取所有分类数据
$result = mysqli_query($conn, "SELECT * FROM categories");
// 将分类数据存储到数组中
while ($row = mysqli_fetch_assoc($result)) {
$category_id = $row["id"];
$category_name = $row["name"];
$parent_id = $row["parent_id"];
// 创建一个新的分类
$category = array(
"id" => $category_id,
"name" => $category_name,
"children" => array()
);
// 如果是顶级分类,则直接添加到数组中
if ($parent_id == 0) {
$categories[$category_id] = $category;
}
// 否则,将其作为子分类添加到父级分类中
else {
$categories[$parent_id]["children"][$category_id] = $category;
}
}
- 最后,可以遍历整个数组,输出所有的分类信息。例如:
// 遍历所有分类
foreach ($categories as $category) {
echo $category["name"];
// 如果该分类有子分类,则输出所有子分类
if (!empty($category["children"])) {
echo "<ul>";
foreach ($category["children"] as $child) {
echo "<li>" . $child["name"] . "</li>";
}
echo "</ul>";
}
}
注意:以上代码只是示例,具体实现可能会因为数据源和需求的不同而有所差异。