2010-04-23 99 views
1

任何人都知道如何从文本文件中获得一组随机的行吗?PHP获取随机段落

我想要得到一组3行 <br> 在每个的前面,并通过HTML显示它们。

例如:

set 1 
<br>Hi 
<br>what's your name 
<br>goodbye 

set 2 
<br>stack 
<br>overflow 
<br>hi there 

设置3,4,5 ....

选择一个随机组并显示它。 这组行将被存储在一个文本文件中。

非常感谢!

+0

设置始终由空行分隔? – codaddict 2010-04-23 03:31:18

+0

如果您希望某人为您设计解析器,则需要该文件的确切示例。你们展示的套装是否真的分开? – erisco 2010-04-23 04:46:07

+0

不,他们不是,问题已解决。非常感谢! – 2010-05-09 22:24:36

回答

0

您可以使用array_chunk创建由指定大小的子阵列中的一个阵列:

$fileArr = file('someFile.txt'); 

// randomize the array 
$lines = array_rand($fileArr, 3); 

// break it into a single array comprised of arrays of three elements 
$chunks = array_chunk($lines, 3); 

// read out values of each sub-array 
foreach($chunks as $chunk) { 
    echo $chunk[0] . '<br />'; 
    echo $chunk[1] . '<br />'; 
    echo $chunk[2] . '<br />'; 
    echo '<br />'; 
} 
1

把所有的可能性放在一个数组中,然后我们array_rand()我猜。

+0

关于如何做到这一点的任何想法?我知道很少的PHP。 – 2010-04-23 03:20:42

+0

在线php文档是一个很好的开始:http://php.net/manual/en/function.array-rand.php – Scuzzy 2010-04-23 04:32:09

0

如果在文本文件中的块总是被空行,你可以随时将文件放入拆分一个字符串然后被\ n \ n分割。然后从那里抓取该阵列中的一个随机元素。