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
Barbara Streisandasal
2024-11-10 02:51:021038semak imbas

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);
}

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

$csvData = arrayToCsv($array);

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!

Kenyataan:
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