Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Tatasusunan Berbilang Dimensi kepada Fail 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!