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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 02:59:02859parcourir

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

PHP : fractionnement de tableau multidimensionnel facilité sans boucles

Lorsque nous sommes confrontés à la tâche de diviser une chaîne en un tableau multidimensionnel, il est courant de recourir à des boucles. Mais et s'il existait un moyen d'y parvenir sans tracas ?

C'est là que les fonctions array_map et exploser de PHP viennent à la rescousse. Considérons une chaîne au format "A,5|B,3|C,8".

Pour diviser cette chaîne efficacement, nous pouvons exploiter array_map et exploser. Voici comment cela fonctionne :

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

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

La fonction array_map parcourt les éléments du tableau renvoyés par éclater('|'), ce qui divise la chaîne en sous-chaînes individuelles en fonction du caractère vertical '|'. Pour chaque sous-chaîne, une fonction anonyme (lambda) est appelée à l'aide d'exploser(','), divisant davantage la sous-chaîne en fonction de la virgule ','. Le résultat est un tableau de tableaux, où chaque sous-tableau représente une paire clé-valeur dans la chaîne d'origine.

En utilisant cette approche, vous pouvez obtenir la division de tableau multidimensionnelle souhaitée sans avoir besoin d'une boucle explicite dans votre code. . C'est une technique puissante qui peut simplifier vos tâches de manipulation de données PHP.

Cependant, il est important de noter que même si cette méthode réduit le besoin de boucles explicites dans votre code, array_map lui-même utilise une boucle interne pour parcourir le éléments d’entrée. Par conséquent, ce n'est pas totalement sans boucle mais reste nettement plus efficace que le bouclage manuel.

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