ホームページ > バックエンド開発 > PHPチュートリアル > 明示的なループを使用せずに、PHP で文字列を多次元配列に分割する方法は?

明示的なループを使用せずに、PHP で文字列を多次元配列に分割する方法は?

Mary-Kate Olsen
リリース: 2024-10-29 03:56:29
オリジナル
1049 人が閲覧しました

How to Split a String into a Multidimensional Array in PHP Without Explicit Loops?

ループを使用せずに 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 サイトの他の関連記事を参照してください。

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