我有一个制表符分隔的文本文件,如下所示:
"abcdef1" "AB"
"abcdef1" "CD"
"ghijkl3" "AA"
"ghijkl3" "BB"
"ghijkl3" "CC"
对于每个通用ID(例如abcdef1),我需要将两位数字代码连接成一个多值.因此,最终应该看起来像:
"abcdef1" "AB,CD"
"ghijk13", "AA,BB,CC"
我不需要创建一个新的输出txt文件,但是如果我可以在数组中获得最终值,那将很棒.我对php刚满一周,因此正在寻求帮助.我能够将输入txt文件中的值放入数组中,但是我一直在努力处理数组以获得通用ID并采用2位代码并进行连接.任何帮助是极大的赞赏
解决方法:
怎么样:
$values = array();
$handle = fopen($file, 'r');
// get the line as an array of fields
while (($row = fgetcsv($handle, 1000, "\t")) !== false) {
// we haven't seen this ID yet
if (!isset($values[$row[0]])) {
$values[$row[0]] = array();
}
// add the code to the ID's list of codes
$values[$row[0]][] = $row[1];
}
$values将类似于:
Array
(
[abcdef1] => Array
(
[0] => AB
[1] => CD
)
[ghijkl3] => Array
(
[0] => AA
[1] => BB
[2] => CC
)
)
标签:arrays,php
来源: https://codeday.me/bug/20191101/1985280.html