我有一个名为$ xyz的多维数组,并为此多维数组中的特定值的键创建了一个数组。 $ valKeys(0:key1,1:key2,2:key3,3:key4) 通常我会使用$ xyz [key1] [key2] [key3] [key4] ='newvalue'获取值;
如何使用此数组访问$ xyz中的特定值?
答案 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);
这是一个草稿函数 - 你应该添加代码来处理数组不包含密钥的情况。
使用此功能设置值需要您使用附加参数调整功能 - 要设置的值。