Maison  >  Article  >  développement back-end  >  Comment convertir efficacement une chaîne délimitée en un tableau associatif sans boucles ?

Comment convertir efficacement une chaîne délimitée en un tableau associatif sans boucles ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-22 06:23:31837parcourir

How to Efficiently Convert a Delimited String into an Associative Array without Loops?

Explorer efficacement une chaîne en un tableau associatif

La conversion d'une chaîne en un tableau associatif est une tâche courante en programmation. Cependant, le faire sans utiliser de boucles peut s’avérer difficile. Explorons une solution au problème de l'éclatement d'une chaîne comme "1-350,9-390.99" en un tableau associatif :

PHP 5.5 et versions ultérieures fournissent un moyen intelligent d'y parvenir en utilisant la combinaison de array_chunk et array_column . Voici comment cela fonctionne :

<code class="php">$input  = '1-350,9-390.99';

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

print_r($result);</code>

Ce code divise d'abord la chaîne d'entrée en morceaux à l'aide de la fonction preg_split, en séparant la chaîne par des tirets (-) et des virgules (,). Ensuite, il utilise array_column pour extraire les première et deuxième colonnes des morceaux, qui correspondent respectivement aux clés et aux valeurs du tableau associatif. Enfin, array_combine est utilisé pour créer le tableau associatif.

Le résultat est un tableau associatif où les clés sont les premières valeurs des morceaux (par exemple, "1" et "9"), et les valeurs sont les secondes valeurs des morceaux (par exemple, "350" et "390,99"). Cette approche élimine le besoin de boucles, ce qui en fait une solution efficace et concise pour convertir une chaîne délimitée en tableau associatif.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn