【问题标题】:Php recursive function not returning the valuePHP递归函数不返回值
【发布时间】:2021-03-02 23:50:21
【问题描述】:

我正在使用这个递归函数来获取一个选项的祖父。只要 needle 存在于数组键中,就意味着该 needle 有一个父对象。如果找不到,则针头没有任何父级,因此必须返回针头本身。

get_parent_need(165,$hay);
function get_parent_need($needle,$hay){
    if(in_array($needle,array_keys($hay))){
        get_parent_need($hay[$needle],array_keys($hay));
    }else{
        return $needle;
    }
}

array image

【问题讨论】:

  • 你为什么打电话给exit
  • 请提供您的阵列示例,我认为这对我们有很大帮助。
  • 正在玩赔率大声笑,实际上我试图回显调用函数的返回值,它什么也没返回,所以我添加了退出...我编辑了我的问题顺便说一句
  • 用数据更新问题,还添加了数组图像
  • 如果找不到针它会无限调用

标签: php recursion magento2


【解决方案1】:

无需使用递归,您可以使用搜索数组

function get_parent_need($needle,$hay) {
    if(! in_array( $needle, array_keys( $hay ) ) ){
        return $needle;
    }
    return $hay;
}

【讨论】:

  • 不,这不是我需要的。我需要让这个函数一直运行,直到它在数组中找不到针,然后我需要返回那个针。
猜你喜欢
  • 2012-03-11
  • 2012-11-27
  • 2011-04-20
  • 2013-09-21
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2015-04-27
相关资源
最近更新 更多