」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我可以使用哪些技術合併關聯數組並添加具有默認值的缺失列?

我可以使用哪些技術合併關聯數組並添加具有默認值的缺失列?

發佈於2025-03-22
瀏覽:877

What Techniques Can I Use to Merge Associative Arrays and Add Missing Columns with Default Values?合併關聯數組,並將缺少的列與默認值

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中的每個關聯數組合併,從而產生了所需的格式。
版本聲明 本文轉載於:1729431620如有侵犯,請聯繫[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3