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","待機","John","","20120101" "hisbadmailxemple.com","325","CH" ,"ウェルズ","ドン","","20130101" "goodmail3@exemple.com","222","NY","ウール","ジョン","","20140101"

メールの基準で悪い記録/登録を削除します。私の例では、4.登録/記録です。

そのため、メール形式を確認し、間違った形式のメールを含む間違ったレコードを削除します。

新しいデータを別のファイル TEXT に入れたい後、単語を「引用符」で囲み、次のようにコンマで区切ります。

"e_mail","id_name","city","name","firstname","how","date" "my@exemple.com","125","NY","Wells","tommy" ,"","20130101" "hisgoodemail@exemple.com","132","ニューヨーク","待機","ジョン","","20120101" "goodmail3@exemple.com","222"," NY","ウール","ジョン","","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 に答える