合并关联数组,并将缺少的列与默认值
Method 1: Using array_merge and RecursiveIterationIterator
$a = array('a' => 'some value', 'b' => 'some value', 'c' => 'some value'); $ b = array('a'=>'另一个值',d'=>'另一个值',e'=>'另一个值',f'=>'另一个值'); $ c = array('b'=>'一些更值',x'=>'一些值',y'=>'一些更值的',z'=>'一些更多值'); $ d = array($ a,$ b,$ c); $ keys = array(); foreach(new recursiveriteratoratorator(new recursiveArrayiterator($ d))作为$ key => $ val){ $键[$ key] =''; } $ data = array(); foreach($ d as $ values){ $ data [] = array_merge($ keys,$ values); } 回声'$a = array('a' => 'some value', 'b' => 'some value', 'c' => 'some value');
$b = array('a' => 'another value', 'd' => 'another value', 'e' => 'another value', 'f' => 'another value');
$c = array('b' => 'some more value', 'x' => 'some more value', 'y' => 'some more value', 'z' => 'some more value');
$d = array($a, $b, $c);
$keys = array();
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($d)) as $key => $val) {
$keys[$key] = '';
}
$data = array();
foreach ($d as $values) {
$data[] = array_merge($keys, $values);
}
echo '';
print_r($data);
$keys = array_keys(call_user_func_array('array_merge', $ d));
$ key_pair = array_combine($ keys,array_fill(0,count($ keys),null));
$ values = array_map(function($ e)use($ key_pair){
返回array_merge($ key_pair,$ e);
},$ d);
此方法采用array_keys来确定合并数组中所有唯一键的联合。然后,它利用array_combine创建一个键值对,其中键是唯一的键,并且值为null。最后,Array_map用于通过$ d迭代,将键值对($ key_pair)与$ d中的每个关联数组合并,从而产生了所需的格式。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3