ループを使用せずに PHP で文字列を多次元配列に分割する
反復構造に依存せずに PHP で文字列を多次元配列に分割するにはなど、配列関数を組み合わせて使用すると、目的の結果を得ることができます。例として、「A,5|B,3|C,8」という形式の文字列を考えてみましょう。
array_map とexplodeを利用すると、このタスクを効率的に実行できます。たとえば、PHP 5.3 以降では、次のコード スニペットを使用できます。
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
このコード スニペットは、explode 関数を使用して入力文字列を部分文字列の配列に分割することから始まります。パイプ文字。次に、array_map を使用して、explode 関数を各部分文字列に適用し、文字を含む最初の要素と数字を含む 2 番目の要素の 2 つの要素の配列にさらに分割します。
結果は多次元配列になります。ここで、各内部配列は、入力文字列の文字と数字の 1 つのペアに対応します。
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
このソリューションではユーザーのコード内の明示的なループが排除されますが、array_map は内部的には引き続き入力配列を反復するループ。したがって、提示されたコードにループが存在しないことは、ループが完全に存在しないことを意味するものではありません。
以上が明示的なループを使用せずに、PHP で文字列を多次元配列に分割する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。