Analyse des expressions clé-valeur à partir de chaînes séparées par des virgules
La conversion d'une chaîne d'expressions clé-valeur séparées par des virgules en un tableau associatif est une tâche courante en PHP. Une approche simple pourrait impliquer d'exploser la chaîne dans un tableau, de découper chaque élément, puis de séparer chaque élément en clé et en valeur à l'aide d'une autre explosion. Cependant, il existe un moyen plus efficace d'y parvenir en utilisant des expressions régulières.
Étant donné une chaîne telle que "key=value, key2=value2", voici comment vous pouvez l'analyser avec regex :
$str = "key=value, key2=value2"; preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); $result = array_combine($r[1], $r[2]); var_dump($result);
Le modèle regex /([^,= ] )=([^,= ] )/ correspond à toute séquence de non-espace, sans virgule et caractères non égaux suivis d'un signe égal (=), suivi d'une autre séquence de caractères autres que des espaces, des virgules et des caractères non égaux. La fonction preg_match_all est ensuite utilisée pour faire correspondre le modèle dans la chaîne et capturer les groupes correspondants dans un tableau ($r). Enfin, la fonction array_combine est utilisée pour fusionner les premier et deuxième groupes capturés ($r[1] et $r[2]) en tant que clés et valeurs du tableau associatif.
Cette approche analyse efficacement les clés- expressions de valeur dans une seule correspondance d’expression régulière, sans avoir besoin de plusieurs transformations de tableau ou boucles. Le résultat est un tableau associatif soigneusement construit où chaque touche correspond à sa valeur respective.
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!