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

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

DDD
DDDoriginal
2024-10-22 06:27:03983parcourir

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

Conversion d'une chaîne délimitée en un tableau associatif sans boucles

La tâche à accomplir est de transformer une chaîne contenant des paires clé-valeur séparées par délimiteurs (par exemple, "1-350,9-390.99") dans un tableau associatif. Bien que les boucles puissent accomplir cela, il est possible d'y parvenir en utilisant uniquement des fonctions de tableau.

Une approche consiste à utiliser la fonction array_chunk pour diviser la chaîne en morceaux de deux éléments : la clé et la valeur. . Ceci est suivi de array_column pour extraire les clés et les valeurs dans des tableaux séparés. Enfin, array_combine est utilisé pour combiner ces tableaux extraits dans le tableau associatif souhaité.

Voici une implémentation PHP 5.5 :

<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>

Cela produira le tableau associatif suivant :

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

Cette approche élimine non seulement le besoin de boucles explicites, mais utilise également des fonctions PHP natives pour améliorer les performances et la lisibilité du code.

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