如果键 [any][0] 是相同的数字,则合并/组合(不确定我需要哪个?)php数组

使用以下代码,我可以将上传的 CSV 文件转换为 php 数组。


    <?PHP

function readCSV($csvFile){

    $file_handle = fopen($csvFile, 'r');

    fgetcsv($file_handle);

    fgetcsv($file_handle);

    fgetcsv($file_handle);

    while (!feof($file_handle) ) {

        $line_of_text[] = fgetcsv($file_handle, 1024);

    }

    fclose($file_handle);

    return $line_of_text;

}



// Set path to CSV file

$csvFile = 'test.csv';


$csv = readCSV($csvFile);

?>

然后我可以在我的页面上查看数组..


<?php echo '<pre>';

print_r($csv);

echo '</pre>'; ?> 

这会按如下方式输出数组(看起来像真实数据,但已匿名)..

如果您查看 [0]、[1] 和 [2],您会发现它们都是同一个销售记录编号的一部分(因此 [0][0]、[1][0] 和 [2][0]是相同的数字)(但项目 [3][0] 和 [4][0] 是单独的订单/不同的数字)。(请记住,虽然这只是一个示例,但数据会发生变化,可能有 100 个订单,每个订单号可能有 1 个或多个项目。)

我想合并具有相同销售记录编号的订单数组 [any][0]

所以像....

如果 [any][0] 相互匹配,则合并数组

这意味着匹配的订单号的所有信息将在每个订单号的 1 个数组中。

我想保留所有数据(忽略空白),但将它们合并/合并到匹配的顶级数组中作为子数组,例如..如果 [1][0] 匹配 [2][0] 中的所有数据 [ 2][0] 到 [2][51] (不是空的或相同的)应该添加到 [1] 上,这样它就变成了......


梵蒂冈之花
浏览 243回答 3
3回答

慕少森

请尝试以下代码。它正在工作。<?php&nbsp; &nbsp; function readCSV($csvFile)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $line_of_text = [];&nbsp; &nbsp; &nbsp; &nbsp; $file_handle = fopen($csvFile, 'r');&nbsp; &nbsp; &nbsp; &nbsp; while (!feof($file_handle)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $tmp = fgetcsv($file_handle, 1024);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (isset($line_of_text[$tmp[0]])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach ($tmp as $k => $v) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (array_key_exists($k, $line_of_text[$tmp[0]])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!is_array($line_of_text[$tmp[0]][$k])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $kVal = $line_of_text[$tmp[0]][$k];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = [];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k][] = $kVal;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k][] = $v;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = array_unique($line_of_text[$tmp[0]][$k]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = array_filter($line_of_text[$tmp[0]][$k]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (count($line_of_text[$tmp[0]][$k]) == 1) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = array_values($line_of_text[$tmp[0]][$k]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = $line_of_text[$tmp[0]][$k][0];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (empty($line_of_text[$tmp[0]][$k])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = null;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][$k] = null;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]][0] = $tmp[0];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $line_of_text[$tmp[0]] = $tmp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; fclose($file_handle);&nbsp; &nbsp; &nbsp; &nbsp; return array_filter(array_values($line_of_text));&nbsp; &nbsp; }&nbsp; &nbsp; // Set path to CSV file&nbsp; &nbsp; $csvFile = 'test.csv';&nbsp; &nbsp; $csv = readCSV($csvFile);&nbsp; &nbsp; echo "<pre>";&nbsp; &nbsp; print_r($csv);?>=> 输出Array(&nbsp; &nbsp; [0] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 15304&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 15-04478-27247&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [2] => ersmith0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [3] => eric smith&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [4] => myemail@gmail.com&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [5] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [6] => 2 Any Close&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [7] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [8] => Manchester&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [9] => Greater Manchester&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [10] => M1 5BB&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [11] => United Kingdom&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [12] => eric smith&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [13] => +44 7719 123456&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [14] => 27 Any Close&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [15] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [16] => Manchester&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [17] => Greater Manchester&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [18] => M1 5BB&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [19] => United Kingdom&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [20] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 302804801330&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 302804815489&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [21] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => CAUTION DRIVEN BY A BIKER&nbsp; - Fun Vinyl Decal Sticker 4x4/Car/Lorry/Van/Camper&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => Warning Biker With an Attitude Annoy At Your Own Risk Car Vinyl Decal Sticker&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [22] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [23] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [24] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [25] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => £3.90&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => £1.95&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [26] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [27] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [28] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [29] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [30] => £3.90&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [31] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [32] => PayPal&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [33] => 30-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [34] => 30-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [35] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [36] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [37] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [38] => 31-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [39] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [40] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [41] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [42] => 5LD0123456789U&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [43] => Royal Mail 1st Class&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [44] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [45] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 1711351782020&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 1711351781020&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [46] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [47] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [48] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [49] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [50] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [51] => No&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [1] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 15305&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 25-04445-36722&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [2] => pod69&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [3] => mart badger&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [4] => martsemailddr34@gmail.com&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [5] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [6] => Via Riccione N. 35/30&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [7] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [8] => Sa Tiacca Quartu S. Elena&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [9] => CA&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [10] => 09445&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [11] => Italy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [12] => Badger Mart&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [13] => +39 987 654 3211&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [14] => Via Riccione N. 35/30&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [15] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [16] => Sa Tiacca Quartu S. Elena&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [17] => CA&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [18] => 09445&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [19] => Italy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [20] => 302667176336&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [21] => 2x Funny Car & Van or Camper WV Eyelash Vinyl Sticker Decal, Signs - Any Colour!&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [22] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [23] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [24] => 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [25] => £1.99&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [26] => £3.14&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [27] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [28] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [29] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [30] => £7.12&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [31] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [32] => PayPal&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [33] => 23-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [34] => 23-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [35] => 24-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [36] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [37] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [38] => 24-Jan-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [39] => Yes&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [40] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [41] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [42] => 25C157351T6888860U&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [43] => Royal Mail International Standard&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [44] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [45] => 1709118816020&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [46] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [47] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [48] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [49] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [50] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [51] => No&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [2] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => 15306&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => 20-04482-41274&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [2] => wideboiy38887&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [3] => Paul Lastname&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [4] => wideboiysemail@hotmail.co.uk&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [5] => Yellow please&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [6] => 10&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [7] => Broomstick Lane&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [8] => Okehampton&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [9] => Devon&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [10] => EX19 2FT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [11] => United Kingdom&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [12] => Paul Lastname&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [13] => +44 7866 401983&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [14] => 105&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [15] => Broomstick Lane&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [16] => Okehampton&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [17] => Devon&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [18] => EX19 2FT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [19] => United Kingdom&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [20] => 302755568952&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [21] => Junglist Soldier Car Window Laptop Wall Gift Drum Bass dnb Jungle Vinyl Sticker&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [22] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [23] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [24] => 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [25] => £1.99&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [26] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [27] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [28] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [29] => £0.00&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [30] => £1.99&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [31] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [32] => PayPal&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [33] => 01-Feb-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [34] => 01-Feb-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [35] => 03-Feb-20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [36] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [37] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [38] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [39] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [40] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [41] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [42] => 7SD68673EE789782X&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [43] => Royal Mail 1st Class&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [44] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [45] => 1711667179020&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [46] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [47] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [48] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [49] => No&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [50] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [51] => No&nbsp; &nbsp; &nbsp; &nbsp; ))

qq_花开花谢_0

您可以像这样处理数组$arr = [];//$csv is your arrayforeach($csv as $key => $value){&nbsp; $arr[$value[0]][] = $value;&nbsp;&nbsp;}print_r($arr);此代码将附加所有具有相同第 [0] 索引的嵌套数组。然后您可以使用其他 php 函数来使您的数组独一无二。如果你想要一个合并数组的结果,你可以尝试下面的代码。$arr = [];//$csv is your arrayforeach($csv as $key => $value){&nbsp; if(!array_key_exists($value[0],$arr)){&nbsp; &nbsp; $arr[$value[0]] = [];&nbsp; }&nbsp; $arr[$value[0]] = array_merge($arr[$value[0]],$value);&nbsp;&nbsp;}print_r($arr);我还没有测试过代码,所以如果有任何错误请更正。

慕姐4208626

如果发生以下情况,我认为这可能会导致与您喜欢的不同:假设我们有 3 条这样的记录:$original = [0] => [&nbsp; [0] => 'id0',&nbsp; [1] => 'name 0',&nbsp; [2] => 'street 0'],[1] => [&nbsp; [0] => 'id0',&nbsp; [1] => 'name 1',&nbsp; [2] =>&nbsp;],[2] => [&nbsp; [0] => 'id0',&nbsp; [1] =>,&nbsp; [2] => 'street 2']如果我遵循我认为你的意思,你最终会得到以下结构:$new = [0] => [&nbsp; [0] => 'id0',&nbsp; [1] => [&nbsp; &nbsp; [0] => 'name 0',&nbsp; &nbsp; [1] => 'name 1'&nbsp; ],&nbsp; [2] => [&nbsp; &nbsp; [0] => 'street 0',&nbsp; &nbsp; [1] => 'street 2'&nbsp; ]]你能看到 $new[0][1][1] 来自 $original[1][1],而在数组 $new[0][2][1] 的相同位置来自 $original[ 2][2]我认为问题在于您现在将 $original[X][1] 与 $original[X][2] 对齐,如果您在某种表格/概览中打印它们最终彼此相邻但不相关。==至于如何解决你的问题,我会建议这样的事情:function readCsv($csvFileName) {&nbsp; &nbsp; $file_handle = fopen($csvFile, 'r');&nbsp; &nbsp; $records = [];&nbsp; &nbsp; fgetcsv($file_handle);&nbsp; &nbsp; while (!feof($file_handle) ) {&nbsp; &nbsp; &nbsp; &nbsp; $line = fgetcsv($file_handle, 1024);&nbsp; &nbsp; &nbsp; &nbsp; $id = $line[0];&nbsp; &nbsp; &nbsp; &nbsp; if (!$records[$id]) $records[$id] = [];&nbsp; &nbsp; &nbsp; &nbsp; $records[$id][] = $line;&nbsp; &nbsp; }&nbsp; &nbsp; fclose($file_handle);&nbsp; &nbsp; return $records;}function printCsvColumn($rowName, $sales) {&nbsp; &nbsp; $uniqueSales = array_unique($sales);&nbsp; &nbsp; $uniqueNotNullSales = array_filter($uniqueSales, 'strlen');&nbsp; &nbsp; foreach ($uniqueNotNullSales as $sale) {&nbsp; &nbsp; &nbsp; &nbsp; echo $rowName . ': ' . $sale[$rowName];&nbsp; &nbsp; }}function printCsv($records) {&nbsp; &nbsp; foreach ($records as $sales) {&nbsp; &nbsp; &nbsp; &nbsp; foreach ($sales[0] as $rowName=>$rowValue) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printCsvColumn($rowName, $sales);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}如果您了解 OOP,您可以创建类和对象来为您表示此逻辑,这样您就不会以这种函数式的方式获取和迭代整个代码中的数据。
打开App,查看更多内容
随时随地看视频慕课网APP