Maison  >  Article  >  développement back-end  >  Comment exploser efficacement une chaîne dans un tableau associatif sans boucles en PHP ?

Comment exploser efficacement une chaîne dans un tableau associatif sans boucles en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 06:29:30809parcourir

How to Efficiently Explode a String into an Associative Array without Loops in PHP?

Explosion efficace d'une chaîne en un tableau associatif

L'éclatement d'une chaîne en un tableau associatif est une tâche courante en programmation. Cette question explore une méthode pour y parvenir efficacement sans recourir à des boucles.

Défi

Étant donné une chaîne contenant des paires de valeurs séparées par des virgules (par exemple, "1-350 ,9-390.99"), le but est de le transformer en un tableau associatif où la première valeur devient la clé et la deuxième valeur devient la valeur associée.

Réponse

En tirant parti de la puissance des fonctions de tableau PHP, il est possible d'effectuer cette transformation en seulement deux lignes :

<code class="php">$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));</code>

Explication

  1. Array_chunk : Divise la chaîne d'entrée en morceaux de paires.
  2. Array_column : Extrait les clés et les valeurs des morceaux dans des tableaux séparés.
  3. Array_combine : Crée un tableau associatif en combinant les clés et les valeurs.

Cette méthode sépare efficacement les clés et les valeurs et les combine dans le tableau associatif souhaité sans avoir besoin d'un traitement itératif.

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