2015-01-05 152 views
0

可以說我有一個這樣的數組:獲取從數組父/子映射嵌套陣列陣列值

$a = array(
    "foo", 
    "bar" 
); 

$b = array(
    "foo" => array(
     "bar" => 1 
    ) 
); 

,我想用$a得到$b[$a[0]][$a[1]]

假設是1 .. *長度$a和1 .. *水平$b

+0

請分享你已經嘗試了什麼。 –

+1

...和你正試圖獲得什麼。爲什麼'$ b [$ a [0]] [$ a [1]]'不適合你? – Eineki

+0

@Eineki他想要一個適用於任何嵌套級別的解決方案 – Barmar

回答

2
$result = $b; 
foreach ($a as $index) { 
    $result = $result[$index]; 
} 
echo $result; 
+0

謝謝,完美地工作 –

+0

這根本不起作用!因爲第二次迭代是:$ b [「bar」],它不存在! – Rizier123

+0

謝謝,我修復了它。 – Barmar

1

這應該爲你工作:

<?php 

    //As an example 
    $a = array(
     "foo", 
     "bar", 
     "xy", 
     "ab" 
    ); 

    $b = array(
     "foo" => array(
      "bar" => array(
       "xy" => array(
        "ab" => 14 
       ), 
      ), 
     ) 
    ); 

    $end = $b; 
    foreach ($a as $index) 
     $end = $end[$index]; 

    echo $end; 

?> 

輸出:

14