Problème :
Comment un tableau peut-il être converti en fichier CSV ?
Tableau :
Le tableau donné contient plusieurs niveaux d'objets et de tableaux, ainsi que sa structure ressemble à une table de base de données.
Solution :
Pour convertir un tel tableau en fichier CSV, une fonction comme arrayToCsv() peut être utilisée. Cette fonction prend un tableau en entrée et génère une chaîne CSV en formatant et en échappant les champs de manière appropriée.
Implémentation :
/** * Formats a line (passed as a fields array) as CSV and returns the CSV as a string. * Adapted from http://us3.php.net/manual/en/function.fputcsv.php#87120 */ function arrayToCsv(array &$fields, $delimiter = ';', $enclosure = '"', $encloseAll = false, $nullToMysqlNull = false) { $delimiter_esc = preg_quote($delimiter, '/'); $enclosure_esc = preg_quote($enclosure, '/'); $output = array(); foreach ($fields as $field) { if ($field === null && $nullToMysqlNull) { $output[] = 'NULL'; continue; } // Enclose fields containing $delimiter, $enclosure or whitespace if ($encloseAll || preg_match("/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field)) { $output[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field) . $enclosure; } else { $output[] = $field; } } return implode($delimiter, $output); }
En utilisant cette fonction, le tableau peut être converti en fichier CSV en utilisant ce qui suit code :
$csvData = arrayToCsv($array);
Sortie :
La variable $csvData contiendra désormais la représentation sous forme de chaîne CSV du tableau, qui peut être traitée ultérieurement, écrite dans un fichier ou intégrée avec des applications appropriées. En utilisant cette approche, le tableau multidimensionnel fourni peut être converti efficacement au format CSV.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!