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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 03:56:291026parcourir

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

Diviser une chaîne en un tableau multidimensionnel en PHP sans boucles

Pour diviser une chaîne en un tableau multidimensionnel en PHP sans s'appuyer sur des structures itératives , une combinaison de fonctions de tableau peut être utilisée pour obtenir le résultat souhaité. Prenons l'exemple d'une chaîne au format "A,5|B,3|C,8".

En utilisant array_map et explosion, vous pouvez accomplir cette tâche efficacement. Par exemple, dans PHP 5.3 et supérieur, l'extrait de code suivant peut être utilisé :

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

$a = array_map(
    function ($substr) {
        return explode(',', $substr);
    },
    explode('|', $str)
);
var_dump($a);</code>

Cet extrait de code commence par diviser la chaîne d'entrée en un tableau de sous-chaînes à l'aide de la fonction d'explosion, qui sépare la chaîne en le caractère de la pipe. Ensuite, array_map est utilisé pour appliquer la fonction d'explosion à chaque sous-chaîne, la divisant ensuite en un tableau de deux éléments : le premier élément contenant la lettre et le deuxième élément contenant le nombre.

Le résultat est un tableau multidimensionnel. où chaque tableau interne correspond à une seule paire de lettres et de chiffres de la chaîne d'entrée :

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)

Bien que cette solution élimine les boucles explicites dans le code de l'utilisateur, il est important de noter qu'en interne, array_map utilise toujours un boucle pour parcourir le tableau d’entrée. Par conséquent, l'absence de boucle dans le code présenté n'implique pas l'absence totale de boucle.

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