php - Create multidimensional array for duplicate ID key value -


i trying read in array values csv , create sub-arrays belong primary key field id. e.g currently, have following array structure & content...

id;number;product

1;k12;product1

2;157/03/2014;product1

2;;product2

2;product1

3;156/03/2014;product2

3;156/03/2014;product3

i have php function:

function csv_to_array($file, $delimiter=';') {     if(!file_exists($file) || !is_readable($file))         return false;      $header = null;     $data = array();     if (($handle = fopen($file, 'r')) !== false)     {         while (($row = fgetcsv($handle, 1000, $delimiter)) !== false)         {             if(!$header)                 $header = $row;             else                 $data[] = array_combine($header, $row);         }         fclose($handle);     }     return $data; } 

such result achieve

[1] => array     (         [lp] => 1         [number] => k12         [product] => product1     ) [2] => array     (         array             (                 [lp] => 2                 [number] => 157/03/2014                 [product] => product1             )         array             (                 [product] => product2             )                        array             (                 [product] => product3             ) 

replace

data[] = array_combine($header, $row); 

with

if(isset($data[$row[0]])) { $data[$row[0]][] = array_combine($header, $row); } else { $data[$row[0]] = array(); $data[$row[0]][] = array_combine($header, $row); } 

Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -