我需要压扁数组,同时确保没有重复的键。
例如,让我说我有这个:
$arr = array(
$foo = array(
'donuts' => array(
'name' => 'lionel ritchie',
'animal' => 'manatee',
)
)
);
我需要一个看起来像这样的扁平数组:
$arr = array(
'donuts name' => 'lionel ritchie',
'donuts animal' => 'manatee',
);
即使我们有超过1个父键,它也需要工作。
我有以下代码,但我不确定我是否可以使用它。
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($array1)) as $k=>$v){
$array1c[$k] = $v;
}
答案 0 :(得分:1)
这很简单,只需这样:
$arr = array(
$foo = array(
'donuts' => array(
'name' => 'lionel ritchie',
'animal' => 'manatee',
)
)
);
// Will loop 'donuts' and other items that you can insert in the $foo array.
foreach($foo as $findex => $child) {
// Remove item 'donuts' from array, it will get the numeric key of current element by using array_search and array_keys
array_splice($foo, array_search($findex, array_keys($foo)), 1);
foreach($child as $index => $value) {
// Adds an array element for every child
$foo[$findex.' '.$index] = $value;
}
}
var_dump($foo);
的结果将是:
array(2) {
["donuts name"]=>
string(14) "lionel ritchie"
["donuts animal"]=>
string(7) "manatee"
}
试试吧:)