ホームページ  >  記事  >  バックエンド開発  >  2D 配列を転置して、カンマ区切りの列、パイプ区切りの行文字列に変換するにはどうすればよいですか?

2D 配列を転置して、カンマ区切りの列、パイプ区切りの行文字列に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 12:49:02625ブラウズ

How to Transpose a 2D Array and Convert it to a Comma-Separated Column, Pipe-Separated Row String?

2D 配列を転置し、カンマ区切りの列とパイプ区切りの行を含む文字列に変換する

多次元配列が与えられた場合、transpose列を行に変換します。さらに、転置配列の文字列表現を生成します。各行はパイプ文字 ('|') で区切られ、各行内の要素はカンマ (,) で区切られます。

例:

次の 2D 配列を考えます:

01 03 02 15
05 04 06 10
07 09 08 11
12 14 13 16

必要な出力:

01,05,07,12|03,04,09,14|02,06,08,13|15,10,11,16

解決策:

このタスクは 2 つの手順で実行できます:

  1. 配列を転置する:

    • 新しい配列を作成する元の行が列になり、その逆も同様です。
  2. 文字列表現を作成します:

    • 各行を反復処理します。
    • 各行の要素をカンマ (,) で結合します。
    • 行をパイプ文字 (|) で結合します。

JavaScript 実装:

<code class="javascript">// Transpose the array
const transposedArray = originalArray.map((row, i) => row.map((el, j) => originalArray[j][i]));

// Create the string representation
const result = transposedArray.map(row => row.join(",")).join("|");</code>

PHP 実装:

<code class="php">// Transpose the array
$transposedArray = array();
foreach ($originalArray as $row) {
  foreach ($row as $key => $value) {
    $transposedArray[$key][] = $value;
  }
}

// Create the string representation
$result = array_map(function($row) { return implode(",", $row); }, $transposedArray);
$result = implode("|", $result);</code>

以上が2D 配列を転置して、カンマ区切りの列、パイプ区切りの行文字列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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