使用键列表访问多维多级数组中的特定值

时间:2018-02-11 19:02:03

标签: php multidimensional-array

我有一个名为$ xyz的多维数组,并为此多维数组中的特定值的键创建了一个数组。 $ valKeys(0:key1,1:key2,2:key3,3:key4) 通常我会使用$ xyz [key1] [key2] [key3] [key4] ='newvalue'获取值;

如何使用此数组访问$ xyz中的特定值?

1 个答案:

答案 0 :(得分:0)

鉴于您对$valKeys$xyz的定义,我认为递归函数是最合适的:

function multi_array_key_get($multi_dim_array, $key_array, $pos=0) {
  $key_count = count($key_array)
  if ($pos < $key_count) {
    return multi_array_key_get($multi_dim_array[$key_array[$pos]], $pos+1);
  } 
  elseif ($pos == $key_count) {
    return $multi_dim_array[$key_array[$pos]];
  }
}

调用该函数:

multi_array_key_get($xyz, $valKeys);

这是一个草稿函数 - 你应该添加代码来处理数组不包含密钥的情况。

使用此功能设置值需要您使用附加参数调整功能 - 要设置的值。