版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39191303/article/details/89637764
/**
* 将多维数组转为一维数组
* @param array $arr
* @return array
*/
function
ArrMd2Ud(
$arr
) {
#将数值第一元素作为容器,作地址赋值。
$ar_room
= &
$arr
[key(
$arr
)];
#第一容器不是数组进去转呀
if
(!
is_array
(
$ar_room
)) {
#转为成数组
$ar_room
=
array
(
$ar_room
);
}
#指针下移
next(
$arr
);
#遍历
while
(list(
$k
,
$v
) = each(
$arr
)) {
#是数组就递归深挖,不是就转成数组
$v
=
is_array
(
$v
) ? call_user_func(
__FUNCTION__
,
$v
) :
array
(
$v
);
#递归合并
$ar_room
=
array_merge_recursive
(
$ar_room
,
$v
);
#释放当前下标的数组元素
unset(
$arr
[
$k
]);
}
return
$ar_room
;
}