Maison  >  Article  >  développement back-end  >  Comment puis-je diviser une chaîne comme \"A,5|B,3|C,8\" en un tableau multidimensionnel en PHP sans utiliser de boucles ?

Comment puis-je diviser une chaîne comme \"A,5|B,3|C,8\" en un tableau multidimensionnel en PHP sans utiliser de boucles ?

DDD
DDDoriginal
2024-10-30 02:10:02877parcourir

How can I split a string like

Séparer les chaînes en tableaux multidimensionnels sans boucles en PHP

Lors de la manipulation de chaînes en PHP, il peut être utile de les diviser en morceaux plus petits ou extraire des données spécifiques. Une tâche courante consiste à diviser une chaîne en un tableau multidimensionnel, ce qui peut aider à organiser et à structurer les informations.

Question :

Comment diviser une chaîne comme "A ,5|B,3|C,8" dans un tableau multidimensionnel en PHP sans utiliser de boucles ?

Solution :

Bien que la question suggère d'éviter les boucles, diviser les chaînes implique généralement une certaine forme d’itération. Cependant, nous pouvons exploiter les fonctions intégrées de PHP pour rationaliser le processus.

Considérez le code suivant :

<code class="php"><?php

$str = "A,5|B,3|C,8";

$a = array_map(
    function ($substr) {
        return explode(',', $substr);
    },
    explode('|', $str)
);

var_dump($a);

?></code>

Dans ce code, nous utilisons array_map et explosons pour atteindre notre objectif sans explicite boucles. Voici comment cela fonctionne :

  • explode('|', $str) divise la chaîne d'origine en un tableau de sous-chaînes, en les séparant au niveau du délimiteur vertical (|).
  • array_map applique ensuite une fonction anonyme (fn) à chaque sous-chaîne. La fonction utilise éclater(',', $substr) pour diviser davantage la sous-chaîne en un tableau par des délimiteurs virgules (,).

Cela crée effectivement un tableau multidimensionnel, où chaque sous-tableau est le résultat de en divisant la sous-chaîne d'origine par des virgules.

La variable $a résultante contiendra un tableau qui ressemble à ceci :

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)

Cette méthode nous permet de séparer efficacement les chaînes en tableaux multidimensionnels sans écrire de manuel boucles.

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