当前位置: 首页 > 面试题库 >

PHP-查找数组的父键

茅高卓
2023-03-14
问题内容

我试图找到一种方法来返回数组的父键的值。

例如,从下面的数组中,我想找出$ array [‘id’] ==“
0002”的父键。父键很明显,因为它是在这里定义的(它是“产品”),但是通常它是动态的,因此是问题所在。但是,“ id”和“ id”的值是已知的。

    [0] => Array
        (
            [data] => 
            [id] => 0000
            [name] => Swirl
            [categories] => Array
                (
                    [0] => Array
                        (
                            [id] => 0001
                            [name] => Whirl
                            [products] => Array 
                               (
                                    [0] => Array
                                        (
                                            [id] => 0002
                                            [filename] => 1.jpg
                                         )
                                    [1] => Array
                                        (
                                            [id] => 0003
                                            [filename] => 2.jpg
                                         )
                                )
                         )
                 )
          )

问题答案:

进行一些粗略的递归,但应该可以:

function find_parent($array, $needle, $parent = null) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $pass = $parent;
            if (is_string($key)) {
                $pass = $key;
            }
            $found = find_parent($value, $needle, $pass);
            if ($found !== false) {
                return $found;
            }
        } else if ($key === 'id' && $value === $needle) {
            return $parent;
        }
    }

    return false;
}

$parentkey = find_parent($array, '0002');


 类似资料:
  • 问题内容: 我有一个带有属性的关系架构(ABCD)。我也有一组功能依赖项。 现在,我需要确定R属性的所有可能子集的闭包。那就是我被困住的地方。我需要学习如何在PHP中查找子集(非重复)。 我的数组是这样存储的。 所以我的子集应该是 该代码不应该太大,但是由于某种原因我无法理解。 问题答案: 您希望获得什么动力?那就是你的问题的含义。 可以在此处找到示例(为完整性起见)

  • 是否有任何预定义的PHP函数可以在多维数组中查找键? 在下面的示例中,有一个变量名“rose”,我需要使用该变量名获取数组的键。关键的结果是“花”。 我如何做到这一点?

  • 本文向大家介绍php在数组中查找指定值的方法,包括了php在数组中查找指定值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php在数组中查找指定值的方法。分享给大家供大家参考。具体如下: php中有两个函数可以判断数组中是否包含指定的值,分别是:array_search($value, $array)和in_array($value, $array),array_search可以找

  • 本文向大家介绍PHP程序查找给定数组中缺少的数字,包括了PHP程序查找给定数组中缺少的数字的使用技巧和注意事项,需要的朋友参考一下 要查找给定数组中缺失的数字,代码如下 示例 输出结果 定义了一个名为“ missing_nums”的函数,该函数检查连续数字数组中是否缺少数字。 它遍历数组并检查以查看计数和要遍历的current_num。 如果在前一个数字加1时找不到两个值,则认为该值缺失。 在函数

  • 问题内容: 我有这个多维数组。我需要搜索它,仅返回与“ slug”的值匹配的键。我知道还有其他有关搜索多维数组的线程,但是我对这些情况的理解还不够。非常感谢您的帮助! 所以我需要一个像这样的函数: 这是数组: 问题答案: 很简单:

  • 程序员经常要处理数组中存放的大量数据,可能需要确定数组是否包含符合某关键值(key value)的值。寻找数组中某个元素的过程称为查找(searching)。本节介绍两个查找方法:简单的线性查找(liner search)方法和更复杂的折半查找(binary search)方法。练习4.33和练习4.34要求用递归法实现线性查找与折半查找。 图4.19 的线性查找比较数组中每个元素与查找键(sea