Maison > développement back-end > tutoriel php > Comment puis-je convertir efficacement une chaîne clé = valeur séparée par des virgules en un tableau associatif ?

Comment puis-je convertir efficacement une chaîne clé = valeur séparée par des virgules en un tableau associatif ?

Susan Sarandon
Libérer: 2024-12-04 00:30:11
original
233 Les gens l'ont consulté

How Can I Efficiently Convert a Comma-Separated Key=Value String into an Associative Array?

Conversion d'une chaîne d'expressions clé = valeur séparées par des virgules en un tableau associatif

Analyse d'une chaîne de paires clé-valeur séparées par des virgules en un tableau associatif peut être une tâche fastidieuse. Bien que la méthode suggérée pour utiliser explosive() et foreach puisse être simple, elle peut s'avérer inefficace pour les chaînes plus grandes.

Une approche plus efficace utilisant des expressions régulières

Une approche plus efficace Une solution élégante et efficace consiste à exploiter les expressions régulières :

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);
var_dump($result);
Copier après la connexion

Cette approche utilise la fonction preg_match_all() pour extraire toutes les correspondances des paires clé-valeur en utilisant le modèle regex ([^,= ] )=([^,= ] ). Les correspondances résultantes sont stockées dans le tableau $r avec les clés stockées dans $r[1] et les valeurs dans $r[2]. Enfin, la fonction array_combine() combine les clés et les valeurs pour créer le tableau associatif souhaité.

L'exemple de chaîne fourni dans la question donnerait le tableau associatif suivant :

array(
  "key" => "value",
  "key2" => "value2"
)
Copier après la connexion

Ceci La méthode offre une solution concise et performante pour analyser les chaînes clé-valeur séparées par des virgules.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal