"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 > Como transpor e formatar um array 2D em PHP?

Como transpor e formatar um array 2D em PHP?

Publicado em 2024-11-09
Navegar:528

How to Transpose and Format a 2D Array in PHP?

Transpor e formatar array 2D

No domínio da manipulação de dados, torna-se necessário remodelar e formatar arrays para uma apresentação eficiente. Considere a tarefa de transpor um array bidimensional e unir seus elementos com delimitadores específicos.

Dado o seguinte array:

01 03 02 15
05 04 06 10
07 09 08 11
12 14 13 16

O objetivo é convertê-lo para uma string com o seguinte formato:

01,05,07,12|03,04,09,14|02,06,08,13|15,10,11,16

onde as colunas são convertidas em linhas e os elementos dentro de cada linha são separados por vírgulas, com as linhas separadas por barras verticais.

Solução usando PHP

Para realizar esta tarefa em PHP, podemos empregar os seguintes passos:

  1. Inicializar um array vazio $tmpArr para armazenar as linhas formatadas.
  2. Itere cada subarray no array original $array.
  3. Para cada subarray, concatene seus elementos em uma única string usando implode(',', $sub) e anexe-o a $tmpArr.
  4. Finalmente, concatenamos os elementos em $tmpArr em uma string usando implode('|', $tmpArr) para obter o resultado desejado.

Aqui está o trecho de código:

$array = array(
  array('01', '03', '02', '15'),
  array('05', '04', '06', '10'),
  array('07', '09', '08', '11'),
  array('12', '14', '13', '16')
);

$tmpArr = array();
foreach ($array as $sub) {
  $tmpArr[] = implode(',', $sub);
}
$result = implode('|', $tmpArr);

echo $result;
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