/**
* 非递归的将经典无限层级关系的数组转换为树状分组
* @param array $rawArray
* @param string $idKey 主键
* @param string $pidKey 父级主键
* @param string $subKey 层级键
* @return array
*/
function arrayToTree(array $rawArray, $idKey = 'id', $pidKey = 'parentId', $subKey = 'children')
{
$result = [];
$rawArray = array_column($rawArray, null, $idKey);
foreach ($rawArray as $item) {
if (isset($rawArray[$item[$pidKey]])) {
$rawArray[$item[$pidKey]][$subKey][] = &$rawArray[$item[$idKey]];
} else {
$result[] = &$rawArray[$item[$idKey]];
}
}
return $result;
}
非递归的将经典无限层级关系的数组转换为树状分组
猜你喜欢
转载自blog.csdn.net/weixin_45609681/article/details/104903848
今日推荐
周排行