2010-04-23 102 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分割。然後從那裏抓取該陣列中的一個隨機元素。