【发布时间】:2011-11-24 19:14:18
【问题描述】:
有没有一种优雅的方法可以使用另一个数组作为键来从庞大的多维数组中获取值?
例如
$cats[A][A1][A11][A111] = $val;
$cats[A][A1][A11][A112] = $val;
$cats[A][A1][A12] = $val;
$cats[A][A1][A12][A121] = $val;
$cats[A][A2] = $val;
$cats[A][A2][A21] = $val;
$cats[A][A2][A22] = $val;
$cats[A][A2][A22][A221] = $val;
$cats[A][A2][A22][A222] = $val;
使用$keys = Array ('A', 'A2', 'A22', 'A221');访问来自$cats的值
不检查$keys 的长度并执行类似...
switch (count($keys)) {
case 1: $val = $cats[$keys[0]]; break;
case 2: $val = $cats[$key[0]][$key[1]]; break;
case 3: $val = $cats[$key[0]][$key[1]][$key[2]]; break;
...
}
非常感谢。
【问题讨论】:
标签: php arrays multidimensional-array