gpt4 book ai didi

php - 在对象数组中取消设置对象

转载 作者:搜寻专家 更新时间:2023-10-31 21:52:35 25 4
gpt4 key购买 nike

我在使用对象从数组中删除项目时遇到问题,相同的代码在其他应用程序中运行。循环后数组 $categories 应该是空的。如果用户将第二个参数传递为 TRUE,下面的代码会删除所有子类别然后删除父类别,如果父类别没有子类别则只删除它。

//the $id of the category to be removed 
// $remove_children is state if you accept removing children categories
function remove_category($id = null, $remove_children = false) {
if ($this->MD->is_category($id) && is_bool($remove_children)) {
//get all children category
$children = $this->get_children_categories($id);
if (!$children) {
return $this->MD->remove($id, $this->categories_table);
} else {
if ($remove_children && is_array($children)) {
unset($children['parent_category']);
foreach ($children as $child) {
$removed = $this->MD->remove($child->id, $this->categories_table);
if ($removed) {
//problem here
unset($child);
}
}
//the $children is not empty after remove all the items
if (empty($children)) {
return $this->MD->remove($id, $this->categories_table);
} else {
return false;
}
} else {
return false;
}
}
} else {
return false;
}
}

最佳答案

为了删除/设置 null 数组元素,我们需要传递数组的特定索引 unset($children[$key]);-

foreach ($children as $key=>$child) {
$removed = $this->MD->remove($child->id, $this->categories_table);
if ($removed) {
//problem here
unset($children[$key]);
}
}

希望对您有所帮助。

关于php - 在对象数组中取消设置对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38826540/

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