【问题标题】:PHP Shuffle Text File and Rewrite Using File_Put_ContentsPHP 随机播放文本文件并使用 File_Put_Contents 重写
【发布时间】:2017-11-11 02:29:36
【问题描述】:

这两天我一直在尝试从文本文件列表创建一个数组,将其随机播放,然后使用 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));

         ?> 

【问题讨论】:

  • $array = array_filter(array_map('trim', $array)) 删除空行。

标签: php shuffle file-put-contents


【解决方案1】:

看来您可能有额外的换行。这些也将是数组的一部分并受到随机改组。如果你想删除它们,你可以这样做

 $array = array_filter(array_map('trim', $array));

数组映射trim 只是在数组中的每个项目上运行trim(),这将有助于消除其中包含空格而不是严格为空的行。 Trim 只是删除字符串前后的所有空格,如果整行都是空格,则删除所有空格,为该行留下一个空字符串 ''

数组过滤器将删除任何在 php 中评估为 0 的行,即 '' 0 false null 以及其他一些内容。

因此,通过组合它们,我们可以轻松过滤掉任何仅包含空格或为空的行。

【讨论】:

  • 这非常有帮助,我知道对于有经验的程序员来说这可能是可悲的,但是感谢像 ArtisticPhoenix 这样的人,我们完全的新手可以在解决了几天没有进展的问题后得到帮助。再次感谢!不幸的是,由于我当时的帐户状态,我对答案的投票不可见。
猜你喜欢
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 2014-11-01
  • 1970-01-01
相关资源
最近更新 更多