我有一个CSV文件,我通过PHP输出到表。 CSV数据如下所示:
0072534,800:fixed:9.9900:0072534|6500:fixed:9.9900:0072538|2100:fixed:9.9900:0072537
0072538,800:fixed:9.9900:0072534|6500:fixed:9.9900:0072538|2100:fixed:9.9900:0072537
0072537,800:fixed:9.9900:0072534|6500:fixed:9.9900:0072538|2100:fixed:9.9900:0072537
我正在努力弄清楚如何让第二个CSV列只在第一个CSV列中显示与ID相关的数据。期望的结果是:
0072534, 800
0072538, 6500
0072537, 2100
(第二列的第一部分是我所追求的数据,即第一列之前的数据':')
这是否有意义,有人可以提出解决方案吗?谢谢!!
答案 0 :(得分:0)
您可以迭代每一行(但是您正在解析您的CSV文件),并进一步迭代每个CSV列 - 爆炸第二列。
这假设您希望在每个|
字符后获取起始值,具体取决于行号。如果我误会,请告诉我 - 你的问题可以更清楚。
例如,像这样:
$count = 0;
$final = array();
foreach ($rows as $row) {
$columns = explode(",", $row);
$column2 = explode("|", $columns[1]);
$length = strpos($column2[$count], ':');
$column2 = substr($column2[$count], 0, $length);
$final[] = array($columns[0], $column2);
$count++;
}