Maison  >  Article  >  développement back-end  >  Comment convertir une chaîne en un tableau associatif à l'aide des fonctions de tableau ?

Comment convertir une chaîne en un tableau associatif à l'aide des fonctions de tableau ?

DDD
DDDoriginal
2024-10-22 06:24:03764parcourir

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

Convertir une chaîne en tableau associatif avec des fonctions de tableau

En PHP, le besoin se fait souvent sentir de transformer une chaîne contenant des paires clé-valeur en un tableau associatif. Considérons une chaîne telle que "1-350,9-390.99", où chaque élément est séparé par un trait d'union et une virgule. L'objectif est de créer un tableau associatif dans lequel le premier nombre de chaque élément devient la clé et le deuxième nombre devient la valeur.

La réalisation de cette conversion peut être effectuée efficacement à l'aide des fonctions de tableau intégrées de PHP. La première étape consiste à diviser la chaîne en tableaux individuels à l'aide de preg_split("/[-,]/", $input), qui sépare les nombres par des tirets et des virgules. Le résultat est une liste de sous-tableaux, chacun contenant une clé et une valeur.

Ensuite, nous utilisons array_chunk pour regrouper ces sous-tableaux en morceaux de deux, en nous assurant qu'un élément détient la clé et l'autre la contient. la valeur. Enfin, array_column est utilisé pour extraire les clés et les valeurs dans des tableaux séparés. L'utilisation de array_combine sur ces tableaux donne le tableau associatif souhaité.

Extrait de code :

<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));</code>

Sortie :

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

Cette méthode convertit efficacement la chaîne en un tableau associatif sans recourir à des boucles, mettant en valeur la puissance des fonctions de tableau de PHP.

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