カンマ区切りの文字列からのキーと値の式の解析
キーと値の式のカンマで区切られた文字列を連想配列に変換するには、次のようにします。 PHP の一般的なタスク。簡単なアプローチとしては、文字列を配列に分解し、各要素をトリミングし、別の分解を使用して各要素をキーと値に分離することが考えられます。ただし、正規表現を使用したより効率的な方法があります。
「key=value, key2=value2」のような文字列を指定した場合、正規表現を使用してそれを解析する方法は次のとおりです。
$str = "key=value, key2=value2"; preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); $result = array_combine($r[1], $r[2]); var_dump($result);
正規表現パターン /([^,= ] )=([^,= ] )/ は、スペース、カンマ以外の任意のシーケンスと一致します。非等号文字の後に等号 (=) が続き、その後に非スペース、非カンマ、および非等号文字のシーケンスが続きます。次に、preg_match_all 関数を使用して文字列内のパターンを照合し、一致したグループを配列 ($r) にキャプチャします。最後に、array_combine 関数を使用して、最初と 2 番目にキャプチャされたグループ ($r[1] と $r[2]) を連想配列のキーと値としてマージします。
このアプローチは、キーを効率的に解析します。複数の配列変換やループを必要とせずに、単一の正規表現内の値式が一致します。結果は、各キーがそれぞれの値にマップされる、きちんと構築された連想配列です。
以上がPHP でカンマ区切りの文字列からキーと値のペアを効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。