区切り文字列をループなしで連想配列に変換する
ここでのタスクは、次のように区切られたキーと値のペアを含む文字列を変換することです。区切り文字 (「1-350,9-390.99」など) を連想配列に追加します。これはループでも実現できますが、配列関数のみを使用してこれを実現することも可能です。
1 つのアプローチでは、array_chunk 関数を利用して文字列を 2 つの要素 (キーと値) のチャンクに分割します。 。この後に array_column が続き、キーと値を別々の配列に抽出します。最後に、array_combine を使用して、これらの抽出された配列を目的の連想配列に結合します。
これは PHP 5.5 実装です:
<code class="php">$input = '1-350,9-390.99'; $chunks = array_chunk(preg_split('/[-,]/', $input), 2); $result = array_combine(array_column($chunks, 0), array_column($chunks, 1)); print_r($result);</code>
これにより、次の連想配列が生成されます。 :
Array ( [1] => 350 [9] => 390.99 )
このアプローチでは、明示的なループの必要性がなくなるだけでなく、ネイティブ PHP 関数を利用してパフォーマンスとコードの可読性が向上します。
以上が区切り文字で区切られた文字列をループなしで連想配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。