如何在 N 维数组中的每个元素之前添加一个额外的维度(递归)?假设我有
Array
(
[room] => Array
(
[bed] = Array
(
[material] => wood
)
)
)
我想在房间、床和材料之前添加一个额外的“[0]”维度。(仅当最后一个元素是数组时才添加维度)。我还想区分,如果已经有额外的 [0] 维度,那么它不会出现两次.. + 如果数组键名为“@attribute”,我不想添加 [0]。
我想弄清楚,但我真的迷路了。这是我到目前为止所得到的..
function normalize_array (&$array) {
if (is_array($array)) {
if (!isset($array[0])) {
$array = array ( "0" => $array);
}
foreach ($array[0] as $next) {
normalize_array ($next);
}
}
}
但它不能递归地工作。任何帮助将不胜感激。谢谢!