Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengubah Tatasusunan 2D dan Menukarkannya kepada Lajur Dipisahkan Koma, Rentetan Baris Dipisahkan Paip?

Bagaimana untuk Mengubah Tatasusunan 2D dan Menukarkannya kepada Lajur Dipisahkan Koma, Rentetan Baris Dipisahkan Paip?

Susan Sarandon
Susan Sarandonasal
2024-10-28 12:49:02625semak imbas

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

Memindahkan Tatasusunan 2D dan Menukarkannya kepada Rentetan dengan Lajur Dipisahkan Koma dan Baris Dipisahkan Paip

Diberi tatasusunan berbilang dimensi, transpose ia untuk menukar lajur kepada baris. Selain itu, hasilkan perwakilan rentetan tatasusunan yang ditranspose, di mana setiap baris dipisahkan oleh aksara paip ('|'), dan elemen dalam setiap baris dipisahkan dengan koma (,).

Contoh:

Pertimbangkan tatasusunan 2D berikut:

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

Output yang Diingini:

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

Penyelesaian:

Tugas ini boleh dicapai dalam dua langkah:

  1. Transpose Array:

    • Buat tatasusunan baharu di mana baris asal menjadi lajur, dan sebaliknya.
  2. Buat Perwakilan Rentetan:

    • Lelaran pada setiap baris daripada tatasusunan terpindah.
    • Sambungkan elemen setiap baris dengan koma (,).
    • Sambungkan baris dengan aksara paip (|).

Pelaksanaan 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>

Pelaksanaan 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>

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Tatasusunan 2D dan Menukarkannya kepada Lajur Dipisahkan Koma, Rentetan Baris Dipisahkan Paip?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn