ホームページ >バックエンド開発 >PHPチュートリアル >コンマで区切られたキーと値の文字列を PHP 連想配列に効率的に解析するにはどうすればよいですか?

コンマで区切られたキーと値の文字列を PHP 連想配列に効率的に解析するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-29 13:02:10819ブラウズ

How Can I Efficiently Parse a Comma-Separated Key-Value String into a PHP Associative Array?

カンマで区切られたキーと値の文字列を連想配列に解析する

PHP では、カンマで区切られたキーと値のペアを含む文字列に遭遇すると、解析の課題を提起します。従来、文字列を分解するには、explode() ループと foreach ループを組み合わせて使用​​することがありました。

正規表現を使用したより単純なアプローチ

ただし、さらに多くの場合は、効率的な解決策として、正規表現の利用を検討してください:

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);

これを詳しく見てみましょうcode:

  1. preg_match_all() は、正規表現パターンが出現するすべての文字列をスキャンします。このパターンは、等号 (=) が続く文字シーケンス ([^,= ] )、およびコンマ、等号、またはスペースではない別の文字シーケンス ([^,= ] ) を検索します。
  2. 結果の一致は $r 配列に保存され、各キーと値のペアは $r[1] (キー) と $r[2] (値) に表示されます。 arrays.
  3. array_combine() は、これら 2 つの配列を簡単に結合し、キー配列と値配列を単一の連想配列 ($result) にマージします。

出力例

var_dump($result);

// Output
array(2) {
  ["key"]=> string(5) "value"
  ["key2"]=> string(6) "value2"
}

このアプローチは、コンマで区切られたキーと値の文字列を PHP 連想配列に変換します。

以上がコンマで区切られたキーと値の文字列を PHP 連想配列に効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。