首先,我有一个报告系统,我可以在其中提取CSV数据,然后返回状态非常糟糕。
数据撤回的方式是:
$data = explode("\t", $site);
$sID = $data[1];
$sCol = $data[2];
等等。
我可以在回声时进一步使用这些变量,而不是问题。
我真正的问题在于上面的数据,我以这种格式得到了几个$sID
:
20390 Red
20390 Blue
20390 Green
20390 White
20391 Blue
20391 Yellow
20391 Green
20391 White
我想将所有数据合并到一行,例如:
20390 Red, Blue, Green, White
类似于array_merge
的东西是理想的,但不确定哪个函数可以复制它。
答案 0 :(得分:0)
好的,在你的情况下,这就是我要做的事情:
$data = explode("\t", $site[0]);
$final = array();
foreach ($data as $row) {
if ($row != 0) {
$info = explode(" ", $row);
if (isset($final[$info[0]])) {
array_push($final[$info[0]], "$info[1], $info[2], $info[3], $info[3]");
} else {
$final[$info[0]] = array();
array_push($final[$info[0]], "$info[1], $info[2], $info[3], $info[3]");
}
}
}
var_dump($final);
答案 1 :(得分:0)
您可以尝试这样的事情:
$data = explode("\t", $site);
$s[$data[1]] = array_key_exists($data[1], $s)?($s[$data[1]].', '.$data[2]):$data[2];
foreach($s as $k => $val){
$sID = $k;
$sCol = $val;
}