/**
* 获取栏目信息和每个栏目的父id集合
* @return array
*/
$catInfoAll = $this->getCatetList($shopId); //获取分类集合(自己获取)
$arr = array_column($catInfoAll, null, 'id'); //这一步根据自己需求
foreach ($arr as $key => &$value) {
$subArr = $this->get_top_pid($arr, $value['id']);
// TODO:包括本身的id,并且含有pid。 根据level,pid在前,本身id在最后
$pidArr = array_column($subArr, 'id');
$value['pidarr'] = $pidArr; //父id和本身 一维数组的形式
$value['pidarrs'] = implode(',', $pidArr); //父id和本身集合的(字符串形式)
// TODO:不包括本身的id,只取pid
// $pids = '';
// foreach ($subArr as $v) {
// if ($v['pid'] > 0) {
// $pids .= $v['pid'] . ',';
// }
// }
// $value['pids'] = rtrim($pids, ',');
}
/**
* 用递归获根据id获取所有的上级
* @param $cate 分类集合
* @param $id 分类的id
* @return array
*/
public function get_top_pid($cate,$id){
$arr = [];
foreach($cate as $v){
i
PHP、tp5、用递归获根据id获取所有的上级(包含本身和不包含本身两种)
最新推荐文章于 2023-01-03 17:37:23 发布
本文介绍了如何在PHP TP5框架中使用递归方法获取一个ID对应的全部上级ID路径,包括包含和不包含本身两种情况。通过递归遍历,实现了从当前ID到顶级父级ID的完整链接。

1282

被折叠的 条评论
为什么被折叠?



