2016-04-04 18 views
0

私がここで見つけた多くの同様の解決策を調整しようとしましたが、どれも私のために働いていませんでした。誰かが私を助けてくれますか?多次元配列の親配列キーを見つける方法

この多次元配列は動的に生成されます(合計55個のキーが含まれます)。 ユーザが入力する変数$ ageがあり、$ageは2番目の配列キーに対応しています。この例では[15]です。この鍵で$age私は親鍵の価値$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; 

答えて

-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'); 
}  
+0

多次元配列は、元の例では、そのように示していても、それだけで2つのレベルがあり意味するものではありません。 –