Converter matrizes PHP multidimensionais em matrizes 2D com chaves de notação de ponto
Achatar matrizes PHP multidimensionais em matrizes 2D com chaves de notação de ponto pode ser benéfico em vários cenários. Ele permite que você acesse perfeitamente valores de array aninhados usando notação de ponto, o que melhora a legibilidade e a manutenção do código.
Função recursiva para converter arrays aninhados
Felizmente, o PHP fornece uma função que pode alcançar essa conversão com elegância:
$result = array();
$ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray));
foreach ($ritit as $leafValue) {
$keys = array();
foreach (range(0, $ritit->getDepth()) as $depth) {
$keys[] = $ritit->getSubIterator($depth)->key();
}
$result[join('.', $keys)] = $leafValue;
}
Explicação:
Saída:
Esta função irá gerar o array 2D desejado com teclas de notação de ponto:
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey4.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
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