Maison > développement back-end > tutoriel php > Comment convertir un tableau multidimensionnel en fichier CSV ?

Comment convertir un tableau multidimensionnel en fichier CSV ?

Barbara Streisand
Libérer: 2024-11-10 02:51:02
original
1057 Les gens l'ont consulté

How to Convert a Multi-Dimensional Array into a CSV File?

Convertir un tableau en CSV

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);
}
Copier après la connexion

En utilisant cette fonction, le tableau peut être converti en fichier CSV en utilisant ce qui suit code :

$csvData = arrayToCsv($array);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal