Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 合并API中的数据数组_Php_Arrays_Codeigniter_Sorting_Csv - Fatal编程技术网

Php 合并API中的数据数组

Php 合并API中的数据数组,php,arrays,codeigniter,sorting,csv,Php,Arrays,Codeigniter,Sorting,Csv,首先,我有一个报告系统,在这个系统中,我收集了CSV数据,而这些数据的状态非常糟糕 将数据拉回的方式是通过: $data = explode("\t", $site); $sID = $data[1]; $sCol = $data[2]; 等等 我可以在回音时使用这些变量,这不是问题 我真正的问题在于上面的数据,我得到了几个$sID格式: 20390 Red 20390 Blue 20390 Green 20390 White 20391 Blue 20391

首先,我有一个报告系统,在这个系统中,我收集了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\u merge
的功能是理想的,但是不确定什么函数可以复制此功能。

好的,在您的情况下,我会这样做:

$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);

您可以尝试以下方法:

   $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;
}

Try:内爆(“,”,$sID)@Codew似乎没有给我任何东西。请提供
$site
的内容,以便我们可以看到爆炸前的情况。到目前为止,我假设
$site
只有这些内容
“20390\tRed”
,这告诉我您正在某种类型的迭代中循环此内容以获得该列表?如果是这种情况,
$site
从哪里来?从$site得到的数据看起来像
SID颜色日期金额20390红色2015-02-16 0.55 0.15 20390蓝色2015-02-16 0.45 0.35 20390绿色2015-02-16 1.55 1.15 20390白色2015-02-16 0.250.05 20391蓝色2015-02-16 1.55 1.15 20391黄色2015-02-16 0.65 0.10 20391绿色2015-02-16 0.35 0.25 20391白色2015-02-16 0.55 0.15
I只需分解,然后使用数据中的位置($data[1]等)这是怎么做的这通过一些改变解决了我的问题,谢谢你的提醒。