0

我有一个文本文件 data.txt,其中包含“引号”中的单词并用逗号分隔,如下所示:

"e_mail","id_name","city","name","firstname","how","date" "my@exemple.com","125","NY","Wells","tommy" ,"","20130101" "hisgoodemail@exemple.com","132","NY","Waits","John","","20120101" "hisbadmailxemple.com","325","CH" ,"威尔斯","唐","","20130101" "goodmail3@exemple.com","222","NY","Wools","John","","20140101"

我将以电子邮件为标准删除不良记录/注册,在我的示例中是 4. 注册/记录。

所以我检查了电子邮件格式并删除了包含错误格式电子邮件的错误记录。

在我想将新数据放在另一个文件 TEXT 中后,用“引号”中的文字并用逗号分隔,如下所示:

"e_mail","id_name","city","name","firstname","how","date" "my@exemple.com","125","NY","Wells","tommy" ,"","20130101" "hisgoodemail@exemple.com","132","NY","Waits","John","","20120101" "goodmail3@exemple.com","222","纽约","羊毛","约翰","","20140101"

但是当我将新数据放入新文件时,它缺少“引号”和逗号

    $fileData = 'data.txt';
if (($handle = fopen($fileData, "r")) !== FALSE) 
{
fgetcsv($handle, 0, ',');

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
    {
        $arrayContainsFileData = array
        (
            'e_mail' => $data[0],
            'id_name' => $data[1],
            'city' => $data[2],
            'name' => $data[3],
            'firstname' => $data[4],
            'how' => $data[5],
            'date' => $data[6]
        );
        //      var_dump($arrayContainsFileData);
        //        exit();

        $e_mail = $arrayContainsFileData['e_mail'];
        $e_mail = str_replace(' ', '', $e_mail);

        //remove bad record/registration with the criterion of email
        if(!VerifyEmailFormat($e_mail))
        { //echo 'bad format'';
            unset($arrayContainsFileData['e_mail']);
            unset($arrayContainsFileData['id_name']);
            unset($arrayContainsFileData['city']);
            unset($arrayContainsFileData['name']);
            unset($arrayContainsFileData['firstname']);
            unset($arrayContainsFileData['how']);
            unset($arrayContainsFileData['date']);
        }

        //          var_dump($arrayContainsFileData);
        //        exit();   

        $creationNewData = 'newCleanData' . date('Y_m_d__H_i_s__u'). '.txt';
        $openNewData = fopen($creationNewData, "a+");
        foreach ($arrayContainsFileData as $value)
            {
            fputs($openNewData, $value.' ');
            }
        fclose($openNewData);
    }
}
//__halt_compiler

我应该如何将单词放在“引号”中并用逗号分隔?

4

1 回答 1

0

您可以使用 php implode 函数 ( http://ca3.php.net/implode ) 首先将每个数组转换为字符串,而不是循环遍历数组的每个元素。

$str = '"' . implode('","', $arrayContainsFileData) . '"';
fputs($openNewData, $str);
于 2014-03-06T15:53:11.537 回答