gpt4 book ai didi

php - 计算 Treversal Tree 项目级别

转载 作者:行者123 更新时间:2023-11-30 01:37:40 26 4
gpt4 key购买 nike

我有一个包含类别名称的数据库。这些列是 ID |类别名称 |父 ID。我正在使用 CodeIgniter 模型中的 row_array(),并且我想向该行数组添加一个级别键。我有一个辅助函数,可以递归计算所有类别级别。我在以下代码段中编写了该辅助函数:

function treegenerate($arrs, $parent_id=0, $level=0) {
foreach($arrs as $arr){
if($arr["CategoryParent"]!=0){
$level+=1;
}
$arr["Level"] = $level;
treegenerate($arrs,$arr["CategoryParent"],$level);
}
return $arrs;
}

但它给出了错误:“允许的内存大小 33554432 字节已耗尽(尝试分配 523800 字节)”。我该如何解决这个问题?

最佳答案

只是一些不知道你的代码的想法:

  • 是否可以从后备箱开始添加级别键?可能会节省你一些重复。
  • 你能把foreach移到treegenerate之外吗?

喜欢:

function treegenerate($arr,$level=0) {
if($arr["CategoryParent"]!=0){
$level +=1;
}
else return $level;

}
treegenerate($arr["CategoryParent"],$level);;
}

foreach ($arrs as $arr) $arr['level'] = treegenerate($arr);

关于php - 计算 Treversal Tree 项目级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com