我已经尝试了两天从文本文件列表创建一个数组,将其洗牌,然后使用file_put_contents重写文本文件。
我成功完成了这项工作但是当我不止一次运行脚本时,它会在每个项目之间创建多个随机空格。
我尝试了许多不同的想法但却没有快乐。
以下是我的代码。
<?php
// create array from text file
$array = file('list.txt');
// shuffle the array
shuffle ($array);
// overwrite original with new shuffled text file
file_put_contents('list.txt', implode(PHP_EOL, $array));
?>
答案 0 :(得分:0)
好像你可能有额外的回报。这些也是数组的一部分,并随机改组。如果你想删除它们,你可以这样做
$array = array_filter(array_map('trim', $array));
数组映射trim
只对数组中的每个项目运行trim()
,这将有助于摆脱其中包含空格而不是严格为空的行。修剪只是从字符串的前面和后面删除任何空格,如果整行是空格,则删除所有空格,留下该行的空字符串''
。
数组过滤器会删除在{php} 0
''
0
false
以及其他一些内容中评估为null
的所有行。
因此,通过组合它们,我们可以轻松过滤掉只包含空格或为空的任何行。