gpt4 book ai didi

php - 递归函数·

转载 作者:行者123 更新时间:2023-11-29 09:20:43 25 4
gpt4 key购买 nike

    4             Computer
5 6 food1
6 food2

我需要选择可能的 parent 。

例如:

  1. 如果我们选择“机器”,所有其他人都可以成为 parent
  2. 如果我们选择“cpu”,那么“ram”和“cpu”就不应该出现。
  3. 如果我们采用“food2”,那么“food2”、“food1”就不应该出现 所有其他有可能性。

如何在类中编写(PHP、MySQL 递归)函数?注意:仅使用单个函数。

最佳答案

我也有同样的问题

类测试{

public static $roleIds;

公共(public)函数availableParents() { self::$roleIds = null;

    $discardRoleIds = implode(',',$this->unAvailableRoles());

$parentRoles = Acl_Model_Role::fetchAll("id NOT IN ({$discardRoleIds}) AND isactive = true" );

return $parentRoles;
}

/**
* Getting not available role id
*
* @author Linto
* @since 2009-11-25
* @return Array
*/
public function unAvailableRoles()
{
$where = "parent_id = {$this->getId()}";

self::$roleIds[] = $this->getId();

$count = Acl_Model_Role::count($where);

if($count != 0) {
foreach(Acl_Model_Role::fetchAll($where) as $role){
$role ->unAvailableRoles();
}
}
return self::$roleIds;

}

}

如果我们使用一次就可以正常工作

如果情况是这样的$role//创建的对象,id为1

$role->availableParents()

$role//创建的对象,id为2$角色->availableParents()

$role//创建的对象,id为3$角色->availableParents()

我们不会得到正确的答案(第一行也会改变第二个模型。)

关于php - 递归函数·,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892884/

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