【发布时间】:2015-04-23 21:29:59
【问题描述】:
我必须将一些数据从 excel 文档插入到数据库中。 数据已保存为.csv,然后通过PHP添加到数组中。
数据如下:
Column A Column B Column C
100 200 100
50 10 100
200 200 100
30 10 300
然后我用它来分隔每一列(在 foreach 循环中)
list( $columnA, $columnB) = explode( ',', $values[0] );
$columnA= array($columnA);
print_r($columnA);
上面的代码打印了每一列的值。 所以我试图找到一种方法从每一列中删除重复项,然后从每一行中删除(不管列名是什么)。我想从整个文档中删除重复项。例如,对于我发布的数据,我只需要值 100,200,50,10,30,300(仅来自整个文档的唯一值)。
更新: 原始数组(我通过使用 for 循环并从 .CSV 文件传递所有数据创建的数组)显示的内容:
Array ( [0] => G2100,100%,,,,,,,,,200,0.24,77,51,2,47, )
Array ( [0] => G2101,100%,,,,,,,,,200,0.24,77,42,15,43, )
Array ( [0] => G2102,30%,,,,,,,,,200,0.24,77,38,25,37, )
因此,通过使用我之前提到的列表函数,我拆分所有列并获取每列的值。那么如果我打印 $columnB 数组,例如它会显示:
Array ( [0] => 100%) Array ( [0] => 100%) Array ( [0] => 30%)
等等。当我使用 unique_array 时,它什么也不做。
$columnB = array_unique($columnB, SORT_REGULAR);
我尝试使用 array_map 但它也不起作用。
任何帮助将不胜感激。
【问题讨论】:
标签: php arrays csv multidimensional-array duplicates