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

Comment diviser efficacement une chaîne en un tableau multidimensionnel en PHP sans boucles ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 03:41:01156parcourir

How to Efficiently Split a String into a Multidimensional Array in PHP Without Loops?

Manipulation de chaînes : diviser efficacement une chaîne en un tableau multidimensionnel

Le fractionnement d'une chaîne en un tableau multidimensionnel est une tâche courante en programmation. Les approches traditionnelles s'appuient souvent sur des boucles itératives pour y parvenir. Cependant, PHP offre une solution sans boucle efficace.

Pour les chaînes comme "A,5|B,3|C,8", la tâche consiste à les transformer en un tableau multidimensionnel tel que :

[
    ['A', 5],
    ['B', 3],
    ['C', 8],
]

La solution consiste à combiner la puissance de explosive() et array_map(). Voici comment cela fonctionne :

<code class="php"><?php
$str = "A,5|B,3|C,8";

// Split the string into individual parts based on the pipe symbol
$parts = explode('|', $str);

// Use array_map() to transform each part into an array
$a = array_map(
    function ($substr) {
        // Explode each part again to separate the values
        return explode(',', $substr);
    },
    $parts
);

En combinant array_map() et explosive(), la boucle sur les parties individuelles est encapsulée dans les fonctions intégrées, éliminant ainsi le besoin d'une boucle explicite dans votre code.

Le tableau $a résultant sera le tableau multidimensionnel souhaité, chaque élément représentant une partie de la chaîne d'origine divisée en un tableau qui lui est propre :

var_dump($a);

array
  0 => 
    array
      0 => string 'A' (length=1)
      1 => string '5' (length=1)
  1 => 
    array
      0 => string 'B' (length=1)
      1 => string '3' (length=1)
  2 => 
    array
      0 => string 'C' (length=1)
      1 => string '8' (length=1)</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