問題:
配列を CSV ファイルに変換するにはどうすればよいですか?
配列:
指定された配列には複数のレベルのオブジェクトが含まれており、
解決策:
このような配列を CSV ファイルに変換するには、arrayToCsv() のような関数を使用できます。この関数は配列を入力として受け取り、フィールドを適切にフォーマットおよびエスケープすることで CSV 文字列を生成します。
実装:
/** * 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); }
この関数を利用して、配列は次のことができます。以下を使用して CSV ファイルに変換されますコード:
$csvData = arrayToCsv($array);
出力:
$csvData 変数には配列の CSV 文字列表現が含まれるようになり、さらに処理したり、ファイルに書き込んだり、統合したりできます。適切なアプリケーションを使用して。このアプローチを採用することで、提供された多次元配列を効率的に CSV 形式に変換できます。
以上が多次元配列を CSV ファイルに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。