"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 converter uma string em um array associativo usando funções de array?

Como converter uma string em um array associativo usando funções de array?

Publicado em 2024-11-07
Navegar:370

How to Convert a String to an Associative Array Using Array Functions?

Converter String em Array Associativo com Funções de Array

Em PHP, muitas vezes surge a necessidade de transformar uma string contendo pares de valores-chave em um matriz associativa. Considere uma string como "1-350,9-390,99", onde cada elemento é separado por um hífen e uma vírgula. O objetivo é criar um array associativo onde o primeiro número em cada elemento se torna a chave e o segundo número se torna o valor.

Alcançar essa conversão pode ser feito de forma eficiente usando as funções de array integradas do PHP. A primeira etapa envolve dividir a string em arrays individuais usando preg_split("/[-,]/", $input), que separa os números por hífens e vírgulas. O resultado é uma lista de submatrizes, cada uma contendo uma chave e um valor.

Em seguida, usamos array_chunk para agrupar essas submatrizes em pedaços de dois, garantindo que um elemento contenha a chave e o outro mantenha o valor. Finalmente, array_column é empregado para extrair as chaves e valores em arrays separados. Usar array_combine nessas matrizes produz a matriz associativa desejada.

Code Snippet:

$input  = '1-350,9-390.99';

$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

Saída:

Array
(
    [1] => 350
    [9] => 390.99
)

Este método converte efetivamente a string em um array associativo sem recorrer a loops, mostrando o poder das funções de array do PHP.

Declaração de lançamento Este artigo foi reimpresso em: 1729549336 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