ホームページ > バックエンド開発 > PHPチュートリアル > PHP でキーと値のペアの文字列を連想配列に変換するにはどうすればよいですか?

PHP でキーと値のペアの文字列を連想配列に変換するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-17 09:53:24
オリジナル
561 人が閲覧しました

How Can I Convert a String of Key-Value Pairs into an Associative Array in PHP?

キーと値のペアの文字列を連想配列に変換する

問題:
「key1value1key2value2key3value3」のような形式の文字列を、連想配列。「key1」は「value1」にマップされ、「key2」は「value2」にマップされます。以下同様です。

正規表現を使用した解決策:

最も迅速かつ簡単な解決策には、正規表現と array_combine:

preg_match_all("/([^\\]+)\\([^\\]+)/", $string, $p);
$array = array_combine($p[1], $p[2]);
ログイン後にコピー

この正規表現を使用することが含まれます。バックスラッシュで区切られた隣接するキーと値のペア。キャプチャされたグループは、array_combine を使用して配列にマージされます。

さまざまな区切り文字への適応:

このアプローチは、さまざまなキーと値およびペアの区切り文字を処理するために簡単に適応できます。 。例:

# Key/value separated by colons, pair by commas
preg_match_all("/([^:]+):([^,]+)/", $string, $p);
$array = array_combine($p[1], $p[2]);
ログイン後にコピー

さまざまな区切り文字の許可:

単一の文字列内で異なる区切り文字を許可するには、より柔軟な正規表現を使用できます:

preg_match_all("/([^:=]+)[:=]+([^,+&]+)/x", $string, $p);
ログイン後にコピー

その他アプローチ:

parse_str() と文字列置換:

入力文字列が既に key=value&key2=value2 形式に従っている場合は、parse_str:

parse_str(strtr($string, ":,", "=&"), $pairs);
ログイン後にコピー

手動キー/値分離:

多くの場合長くなりますが、explode と foreach を使用して手動で配列を作成することもできます:

以上がPHP でキーと値のペアの文字列を連想配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート