Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Fail CSV?

Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Fail CSV?

Barbara Streisand
Lepaskan: 2024-11-10 02:51:02
asal
1064 orang telah melayarinya

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

Tukar Tatasusunan kepada CSV

Masalah:
Bagaimanakah tatasusunan boleh ditukar menjadi fail CSV?

Array:
Array yang diberikan mengandungi berbilang peringkat objek dan tatasusunan, dan strukturnya menyerupai jadual pangkalan data.

Penyelesaian:
Untuk menukar sedemikian tatasusunan ke dalam fail CSV, fungsi seperti arrayToCsv() boleh digunakan. Fungsi ini mengambil tatasusunan sebagai input dan menjana rentetan CSV dengan memformat dan melepaskan medan yang sesuai.

Pelaksanaan:

/**
 * 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);
}
Salin selepas log masuk

Menggunakan fungsi ini, tatasusunan boleh ditukar kepada fail CSV menggunakan kod berikut:

$csvData = arrayToCsv($array);
Salin selepas log masuk

Output:
Pembolehubah $csvData kini akan mengandungi perwakilan rentetan CSV tatasusunan, yang boleh lebih jauh diproses, ditulis pada fail atau disepadukan dengan aplikasi yang sesuai. Dengan menggunakan pendekatan ini, tatasusunan berbilang dimensi yang disediakan boleh ditukar dengan cekap kepada format CSV.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Fail CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan