"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Que técnicas posso usar para mesclar matrizes associativas e adicionar colunas ausentes com valores padrão?

Que técnicas posso usar para mesclar matrizes associativas e adicionar colunas ausentes com valores padrão?

Postado em 2025-03-22
Navegar:557

What Techniques Can I Use to Merge Associative Arrays and Add Missing Columns with Default Values?

mesclando matrizes associativas e adicionando colunas ausentes com valores padrão

mesclando múltiplas matrizes associativas, preservando todas as chaves e adicionando colunas ausentes com os valores inadimplentes, podem ser alcançados usando várias técnicas. Vamos explorar dois métodos para realizar isso:

Método 1: Usando Array_Merge e RecursiveiterationIterator

$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);

Esta abordagem primeiro usa o recursiveIteratorITerator em conjunto com o Array_Merge para identificar todas as chaves exclusivas em cada matriz associativa. Em seguida, ele inicializa uma matriz vazia ($ Keys) com as teclas identificadas. Posteriormente, itera através de cada matriz em $ D, mesclando a matriz $ Keys com os valores de cada matriz para obter o formato desejado. Array_keys (Call_User_Func_ARRAY ('Array_Merge', $ D)); $ key_pair = array_combine ($ keys, Array_fill (0, contagem ($ keys), nulo)); $ valores = array_map (função ($ e) use ($ key_pair) { return array_merge ($ key_pair, $ e); }, $ d);

Essa abordagem emprega Array_Keys para determinar a união de todas as teclas exclusivas na matriz mesclada. Em seguida, ele utiliza Array_combine para criar um par de valores-chave onde as teclas são as teclas exclusivas e os valores são nulos. Finalmente, o Array_Map é usado para iterar através de $ D, mesclando o par de valores-chave ($ key_pair) com cada matriz associativa em $ D, resultando no formato desejado.

Declaração de lançamento Este artigo é reproduzido em: 1729431620 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3