首页 > 解决方案 > PHP,写入CSV不在同一行?

问题描述

function writePlayerInfo($playerFName, $playerSName, $phone, $email){
    $data = array();
    array_push($data, $playerFName, $playerSName, $phone, $email);
    $handleName = fopen("data/names.csv","w");
    foreach ($data as $line)
    {
        fputcsv($handleName,explode(',',$line));
    }
    fclose($handleName);
    $datas = array();
}

if (isset($_POST['submit'])) {
    $fname = $_POST['firstname'];
    $lname = $_POST['lastname'];
    $phone = $_POST['phone'];
    $email = $_POST['email'];
    writePlayerInfo($fname, $lname, $phone, $email);
    header('Location: createplayer.php');
}

大家好,提前谢谢

我试图写入一个 csv 文件,我已经让它工作了,我当前的代码在 csv 文件中显示信息,如下所示:

Dave 
Smith
01210112345
Email@stack.com

但是我希望它像这样写入文件

Dave Smith 01210112345 Email@stack.com

然后我想要它,所以下次我调用它写在下面一行的函数时,有什么想法吗?

标签: phpfilecsvfgetcsvfputcsv

解决方案


带分隔符的 fputcsv="\t"

function writePlayerInfo($playerFName, $playerSName, $phone, $email){
    $data = array();
    array_push($data, $playerFName, $playerSName, $phone, $email);
    $handleName = fopen("data/names.csv","w");
    fputcsv($handleName, $data, "\t");
    fclose($handleName);
    $datas = array();
}

推荐阅读