/**
* 无限级分类处理
* @param array $data 数据源
* @param string $idName 主键
* @param string $fieldName 父级字段
* @param string $childrenKey 子级字段名
* @return array
*/
public function formatCategory(array $data, string $idName = "id", string $fieldName = 'pid', $childrenKey = 'children')
{
$items = [];
foreach ($data as $item) {
$items[$item[$idName]] = $item;
}
$result = array();
foreach ($items as $item) {
if (isset($items[$item[$fieldName]])) {
$items[$item[$fieldName]][$childrenKey][] = &$items[$item[$idName]];
} else if ($item[$fieldName] == 0) {
$result[] = &$items[$item[$idName]];
}
}
return $result;
}
php 无限级分类处理
最新推荐文章于 2024-10-09 11:23:49 发布
该代码段展示了一个PHP函数,用于处理无限级分类的数据。它遍历输入数组,根据主键(idName)、父级字段(fieldNam)和子级字段名(childrenKey)构建树状结构。通过检查每个元素的父ID,将子项添加到对应的父项下,若父ID为0,则作为顶层节点。
摘要由CSDN通过智能技术生成