如何在多维数组php中查找父数组键


How to find parent array key in multidimensional array php

我已经尝试过调整我在stack上找到的许多类似的解决方案,但都不适用。有人能帮我吗?

这个多维数组是动态生成的(总共包含55个键)。在本例[15]中,用户输入变量$age,$age对应于第二个数组键。通过这个密钥$age,我必须找出父密钥val $key

为了回显最终值,我需要顶级数组密钥($key)。以下是回波的样子:

$val = $array[$key][$age]["stadij1"]["20-40"];
echo $val;

如何瞄准键[15]的顶级父数组键([0])?

Array
(
[0] => Array
    (
        [15] => Array
            (
                [stadij1] => Array
                    (
                        [0-20] => 0
                        [20-40] => 61
                        [40-80] => 38
                        [80-120] => 30
                        [120-xx] => 27
                    )
                [stadij2] => Array
                    (
                        [0-20] => 0
                        [20-40] => 50
                        [40-80] => 32
                        [80-120] => 27
                        [120-xx] => 24
                    )...
    )...
  //my try
  $key = array_search($age,$array); //problem is that it returns only first element
  $val = $array[$key][$age]["stadij1"]["20-40"];
  echo $val;

如果我理解正确,你的意思是:

function findKey($array, $age) 
{
    foreach ($array as $parentIndex => $parentValue) {
        foreach ($row as $index => $value) {
            if ($index === $age) {
                return $parentIndex;
            }
        }
    }
    throw new Exception('key not found');
}