csv to php array code example

Example 1: php read csv to array

$lines =file('CSV Address.csv');

foreach($lines as $data)
{
list($name[],$address[],$status[])
= explode(',',$data);
}

Example 2: read csv php

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

Example 3: php array to csv string

To convert an array into a CSV file we can use fputcsv() function. The fputcsv() function is used to format a line as CSV (comma separated values) file and writes it to an open file. The file which has to be read and the fields are sent as parameters to the fputcsv() function and it returns the length of the written string on success or FALSE on failure.

Syntax :

fputcsv( file, fields, separator, enclosure, escape )
  
Example:
<?php 
  
// Create an array of elements 
$list = array( 
    ['Name', 'age', 'Gender'], 
    ['Bob', 20, 'Male'], 
    ['John', 25, 'Male'], 
    ['Jessica', 30, 'Female'] 
); 
   
// Open a file in write mode ('w') 
$fp = fopen('persons.csv', 'w'); 
  
// Loop through file pointer and a line 
foreach ($list as $fields) { 
    fputcsv($fp, $fields); 
} 
  
fclose($fp); 
?>

Example 4: php csv

// output headers so that the file is downloaded rather than displayed
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');

// output the column headings
fputcsv($output, array('Column 1', 'Column 2', 'Column 3'));

// fetch the data
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
$rows = mysql_query('SELECT field1,field2,field3 FROM table');

// loop over the rows, outputting them
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);

Example 5: csv to array php

$csv = array_map('str_getcsv', file('data.csv'));

Tags:

Php Example