如何转置二维数组并将其转换为逗号分隔的列、管道分隔的行字符串?

Susan Sarandon
发布: 2024-10-28 12:49:02
原创
624 人浏览过

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

转置二维数组并将其转换为具有逗号分隔列和管道分隔行的字符串

给定一个多维数组,转置它将列转换为行。此外,生成转置数组的字符串表示形式,其中每行由竖线字符 ('|') 分隔,每行中的元素由逗号 (,) 分隔。

示例:

考虑以下二维数组:

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
登录后复制

解决方案:

此任务可以分两步完成:

  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>
登录后复制

以上是如何转置二维数组并将其转换为逗号分隔的列、管道分隔的行字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!