csv_from_result
残念ながら、関数にパラメーターを渡して列名を避ける方法はありませんがcsv_from_result
、元の関数のコードに基づいてカスタム関数を作成し、不要な部分を削除することはできます。
/**
* Generate CSV from a query result object
*
* @param object $query Query result object
* @param string $delim Delimiter (default: ,)
* @param string $newline Newline character (default: \n)
* @param string $enclosure Enclosure (default: ")
* @return string
*/
function my_custom_csv_from_result($query, $delim = ',', $newline = "\n", $enclosure = '"')
{
if ( ! is_object($query) OR ! method_exists($query, 'list_fields'))
{
show_error('You must submit a valid result object');
}
$out = '';
// Blast through the result array and build out the rows
while ($row = $query->unbuffered_row('array'))
{
foreach ($row as $item)
{
$out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim;
}
$out = substr(rtrim($out), 0, -strlen($delim)).$newline;
}
return $out;
}
コードは、 httpscsv_from_result
://github.com/EllisLab/CodeIgniter/blob/develop/system/database/DB_utility.php から取得した実装に基づいています。