在将数组变量导出到csv时,如何删除包含两个或多个变量的双引号,这些变量构成一个字符串?

cbjzeqam  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(235)
$query = "SELECT * FROM clients";   

if (!$result = mysqli_query($con, $query)) {
    exit(mysqli_error($con));
}

$users = array();
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        $users[] = $row;
    }
}

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=Users.csv');
$output = fopen('php://output', 'w');
fputcsv($output, array('name'));

if (count($users) > 0) {
    foreach ($users as $row) {
        fputcsv($output, $row);
    }
}

mysqli_close($con);

我得到的输出:

Lubbe,
Williams,
"van den Berg",
"van Straaten",
Schutte

预期产量:

Lubbe,
Williams,
van den Berg,
van Straaten,
Schutte
ippsafx7

ippsafx71#

你可以用 str_replace 函数从查询输出(数组)中删除双引号。
尝试:

if (count($users) > 0) {
    // loop over query output
    foreach ($users as $row) {

        // remove double quotes
        $row_modified = str_replace('"', '', $row);

        // write to csv
        fputcsv($output, $row_modified);
    }
}

相关问题