可能重复:
How to “flatten” a multi-dimensional array to simple one in php?
How to Flatten a Multidimensional Array?
如果我有这段代码:
$a = array('a','b',array('c','d'));
我想知道是否有一个函数可以将所有内部数组转换为它们的元素,结果将是:
$a = array('a','b','c','d');
所以我只有内部数组的元素而不是数组。
答案 0 :(得分:1)
以下内容如何:
<?php
/**
* Flattens an array, or returns FALSE on fail.
*/
function array_flatten($array) {
if (!is_array($array)) {
return FALSE;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
}
else {
$result[$key] = $value;
}
}
return $result;
}
?>
(见http://php.net/manual/en/function.array-values.php的评论)
此致 最大
答案 1 :(得分:1)
我在http://php.net/manual/en/function.array-values.php上找到了以下示例。
function array_flatten($array) {
if (!is_array($array)) {
return FALSE;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, array_flatten($value));
}
else {
$result[$key] = $value;
}
}
return $result;
}