如何使用字符串访问PHP多维数组中的元素?

时间:2012-04-03 21:54:46

标签: php arrays multidimensional-array

我有这样的事情:

function print_element($array, $field){
  return "Element: {$array[$field]}";
}

$array['name_en'] = 'English name';
echo print_element($array, 'name_en');

我希望访问属于主数组的数组中的属性,如下所示:

$array['english_values']['name_en'] = 'English name';
echo print_element($array, "['english_values']['name_en']");

有没有办法实现这个目标?

提前谢谢。

3 个答案:

答案 0 :(得分:2)

echo print_element($array['english_values'], 'name_en');

答案 1 :(得分:1)

将字符串'english_values,name_en'传递给您的函数。在函数内部,在逗号上展开字符串,然后遍历数组并在每次传递时分配$array = $array[$thisKey]。您可能还希望在每次通过时检查is_array($array)

答案 2 :(得分:0)

你有阵列,还有按键试试这个:

    function print_var($val) {
        echo "VAR: {$val} <br/>";
    }

    $array['english_values']['name_en'] = 'English name';
    print_var($array['english_values']['name_en']);

    // OUTPUT
    // VAR: English name