我已经尝试过调整我在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');
}