Wie kann ich ein Array in PHP in eine CSV-Datei konvertieren?

Barbara Streisand
Freigeben: 2024-11-08 00:52:03
Original
534 Leute haben es durchsucht

How can I convert an array into a CSV file in PHP?

Array in CSV konvertieren: Eine umfassende Anleitung

CSV (Comma-Separated Values) ist ein weit verbreitetes Format zum Speichern tabellarischer Daten. Das Konvertieren eines Arrays in eine CSV-Datei ermöglicht eine einfache Datenübertragung und Analyse. Dieser Artikel enthält eine Schritt-für-Schritt-Anleitung zur Durchführung dieser Konvertierung.

Das Array

Betrachten Sie das folgende stdClass-Objektarray:

stdClass Object
(

    [OrderList_RetrieveByContactResult] => stdClass Object
        (
            [OrderDetails] => stdClass Object
                (
                    [entityId] => 1025298
                    [orderId] => 10952
                    [... various properties ...]
                )

        )

)
Nach dem Login kopieren

Konvertierungsfunktion

Um das Array in CSV zu konvertieren, können wir eine Hilfsfunktion verwenden, die die Logik kapselt. Hier ist eine Beispielfunktion:

/**
 * 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 );
}
Nach dem Login kopieren

Diese Funktion verwendet ein Array, Trennzeichen und Einschlusszeichen als Eingaben. Es verarbeitet jedes Feld im Array und schließt Felder ein, die Sonderzeichen enthalten. Schließlich formatiert es die Felder als CSV-Zeichenfolge und gibt sie zurück.

Anwenden der Konvertierung

Um unser Beispielarray zu konvertieren, können wir die Funktion arrayToCsv aufrufen:

$fields = [$array->OrderList_RetrieveByContactResult->OrderDetails];
$csv = arrayToCsv($fields);
Nach dem Login kopieren

Die Variable $csv enthält jetzt die konvertierten CSV-Daten. Sie können es in einer Datei speichern oder zur weiteren Bearbeitung verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array in PHP in eine CSV-Datei konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!