我有一个这样的数组:
array(
[cat] => news,
[comments_count] => 2,
[meta] => array(
[first_meta] => 44,
[second_meta] => 54,
)
)
以上代码是我拥有的数组示例。现在我想让上面的数组清楚如下:
array(
[cat] => news,
[comments_count] => 2,
[first_meta] => 44,
[second_meta] => 54,
)
(表示删除-meta-但不是它的索引。我想将meta的索引添加到第一个数组中)
答案 0 :(得分:4)
将meta
数组添加到数组中,然后unset
添加meta
数组:
$array = $array + $array['meta'];
unset($array['meta']);
答案 1 :(得分:1)
如果你有一个多维数组,你可以使用下面的函数,你可以在任何地方重复使用它。
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;
}
$array = array(
'cat' => 'news',
'comments_count' => '2',
'meta' => array(
'first_meta' => '44',
'second_meta' => '54',
)
);
var_dump(array_flatten($array));
结果将是
array(4) {
["cat"]=>
string(4) "news"
["comments_count"]=>
string(1) "2"
["first_meta"]=>
string(2) "44"
["second_meta"]=>
string(2) "54"
}
否则,如果您只需要在问题中展平meta
数组。 {$ 1}}元数组并取消设置array_merge()
如下所示。
meta