Heim  >  Artikel  >  Backend-Entwicklung  >  Wie transponiere ich ein 2D-Array und konvertiere es in eine durch Kommas getrennte Spalte und durch Pipes getrennte Zeilenzeichenfolge?

Wie transponiere ich ein 2D-Array und konvertiere es in eine durch Kommas getrennte Spalte und durch Pipes getrennte Zeilenzeichenfolge?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 12:49:02625Durchsuche

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

Transponieren eines 2D-Arrays und Konvertieren in einen String mit durch Kommas getrennten Spalten und durch Pipes getrennten Zeilen

Transponieren Sie bei einem gegebenen mehrdimensionalen Array es, um Spalten in Zeilen umzuwandeln. Generieren Sie außerdem eine Zeichenfolgendarstellung des transponierten Arrays, wobei jede Zeile durch ein Pipe-Zeichen ('|') getrennt ist und Elemente innerhalb jeder Zeile durch Kommas (,) getrennt sind.

Beispiel:

Betrachten Sie das folgende 2D-Array:

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

Gewünschte Ausgabe:

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

Lösung:

Diese Aufgabe kann in zwei Schritten erledigt werden:

  1. Transponieren Sie das Array:

    • Erstellen Sie ein neues Array wobei die ursprünglichen Zeilen zu Spalten werden und umgekehrt.
  2. Erstellen Sie die String-Darstellung:

    • Iterieren Sie über jede Zeile des transponierten Arrays.
    • Verbinden Sie die Elemente jeder Zeile mit Kommas (,).
    • Verbinden Sie die Zeilen mit einem Pipe-Zeichen (|).

JavaScript-Implementierung:

<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-Implementierung:

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

Das obige ist der detaillierte Inhalt vonWie transponiere ich ein 2D-Array und konvertiere es in eine durch Kommas getrennte Spalte und durch Pipes getrennte Zeilenzeichenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn