0

我试图调整我在堆栈上找到的许多类似的解决方案,但没有一个对我有用。有人可以帮我吗?

这个多维数组是动态生成的(总共包含 55 个键)。有用户输入的变量 $age,以及$age对应于第二个数组键的变量,在这个例子中 [15]。通过这个键$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;
4

1 回答 1

-1

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

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');
}       
于 2016-04-04T17:00:00.750 回答