我需要通过各自的键替换多维数组中的所有值,但前提是该值不是数组。
自:
array(
'key1' => array(
'key2' => array(
'key3' => 'val'
)
)
);
要:
array(
'key1' => array(
'key2' => array(
'key3'
)
)
);
有没有人知道如何很好地做到这一点?
答案 0 :(得分:1)
这似乎或多或少地符合你的要求(fiddle):
<?php
function convert($arr) {
$ret = array();
foreach ($arr as $key => $value) {
if (is_array($value)) {
$ret[$key] = convert($value);
} else {
$ret[] = $key;
}
}
return $ret;
}
$test = array(
'key1' => array(
'key2' => array(
'key3' => 'val'
)
)
);
var_dump(convert($test));
输出:
array(1) {
["key1"]=>
array(1) {
["key2"]=>
array(1) {
[0]=>
string(4) "key3"
}
}
}