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);
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" )
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!