我有一个像你这样的多维关联数组:
$type = Array(
[unit-1] = Array(
[taxon-1] = Array(
[0] = Array(
[a] = 1,
[b] = 1,
[c] = 'string1'
),
[1] = Array(
[a] = 1,
[b] = 1,
[c] = 'string2'
),
),
[taxon-2] = Array(
[0] = Array(
[a] = 1,
[b] = 2,
[c] = 'string3'
),
[1] = Array(
[a] = 1,
[b] = 2,
[c] = 'string4'
),
),
[unit-2] = Array(
[taxon-1] = Array(
[0] = Array(
[a] = 2,
[b] = 1,
[c] = 'string5'
),
[1] = Array(
[a] = 2,
[b] = 1,
[c] = 'string6'
),
),
[taxon-2] = Array(
[0] = Array(
[a] = 2,
[b] = 2,
[c] = 'string7'
),
[1] = Array(
[a] = 2,
[b] = 2,
[c] = 'string8'
),
),
)
如何将所有关联键(unit-1,unit-2 ...和taxon-1,taxon-2 ...)转换为序数(0,1 ...和0,1 ... )。我是否需要使用foreach循环,如果是,它将如何进行?
请注意阵列中没有有限数量的单位和分类。
答案 0 :(得分:9)
如果肯定有两个级别:
$type = array_values(array_map('array_values', $type));
重新索引数组中的所有数组键:
function array_reindex($array) {
if(is_array($array)) {
return array_map('array_reindex', array_values($array));
} else {
return $array;
}
}
没有测试过,但它应该有用。
答案 1 :(得分:0)
您可以使用array_values
。