Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php array_diff返回不带数组的字符串_Php_File_Newline_Array Difference_File Put Contents - Fatal编程技术网

Php array_diff返回不带数组的字符串

Php array_diff返回不带数组的字符串,php,file,newline,array-difference,file-put-contents,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_d

我正在清理我的数据库

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中输入所有用户的换行符,如:

迈克\n罗伯特\n霍恩\n波利


但是它会返回它们之间连接的所有用户

您可以使用内爆添加换行符

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

你可以这样试试

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); 
}

欢迎请阅读有关如何提供[mcse]的帮助部分。另外,请提供db.txt和db2.txt的测试。最后,您的标题建议使用数据库,但是,您的问题涉及使用数组;我建议你改写你的问题标题。