array_diff返回没有数组的字符串

时间:2018-12-29 15:15:09

标签: php file newline array-difference file-put-contents

我正在尝试清理数据库

if($var == true){
    $db = file('db.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    shuffle($db);
    $db2 = file('db2.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $cleaner = array_unique ($db);
    $final = array_diff ($cleaner, $db2);
    file_put_contents('db3.txt', $final);
}

应在所有用户中添加db3.txt,并使用换行符,例如:

Mike \ nRobert \ nJhon \ nPolly

但是它返回他们之间附加的所有用户

2 个答案:

答案 0 :(得分:0)

您可以使用implode添加换行符

$comma_separated = implode("\n", $final);

答案 1 :(得分:0)

您可以这样尝试

if($var == true){
    $db = file('db.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    shuffle($db);
    $db2 = file('db2.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $cleaner = array_unique ($db);
    $final = array_diff ($cleaner, $db2);
    $final = implode(PHP_EOL, $final_result); // implode it with PHP_EOL
    // put content to file with FILE_APPEND parameter but you can ignore if you wish
    file_put_contents('db3.txt', $final, FILE_APPEND); 
}