PHP array2csv – Functie van de maand – juni 2019

Converteren van een array naar een CSV voor het wegschrijven naar een bestand of direct naar de browser, daar kan je gemakkelijk de standaard functionaliteiten van PHP voor gebruiken. Alleen deze standaard functies schrijven weg naar een bestand. Deze functie zet dit om naar de standaard PHP-output en zorgt dat dit in een string terug uit de functie komt.

/**
* Change array to standard CSV-format readable in excel or other spreadsheet applications
* 
* @param array $array
* @param string $delimiter
*/
function array2csv(array &$array, $delimiter=";") {
    //check if array is empty
   if (count($array) == 0) return null;

   //start the standard output buffer
   ob_start();

   //open filepointer to write to php output buffer
   $df = fopen("php://output", "w");

   //use standard csv function from PHP to form the header
   fputcsv($df, array_keys(reset($array)), $delimiter);
   foreach ($array as $row) {
       //now each data row
       fputcsv($df, $row, $delimiter);
   }

   //close the filepointer
   fclose($df);

   //clean and return the output buffer
   return ob_get_clean();
}

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Protected with IP Blacklist CloudIP Blacklist Cloud