2014-10-01 52 views
-1

我正在創建一個隨機的段落生成器,這些生成器是由單獨的句子創建的,這些句子都是在它們自己的值或段落結構中分組在一起的。創建一個PHP隨機段落生成器

ie我們將有3個版本的開頭句子,3個版本的第二個句子和3個版本的最終句子,所以我們的最終產品將顯示3個句子,使我們的段落,並從每個隨機挑選一個3組。

我該如何製作一個PHP腳本來生成三個句子,然後將它們放在一起?

我在網上查找過,發現有多個隨機數發生器,但沒有一個實際上是按順序放置每個數字,並且一次完成所有數字。任何想法或方向都會很棒,我不會要求代碼。

編輯:這是所有單個數組,只是將原始數據寫入,無需從數據庫中提取,因此非常簡單。

+1

什麼是數據結構,是這一切是在單個陣列中,一個MD陣列,你希望從數據庫中拉並沒有這樣做......我們需要更多的信息才能夠幫助您 – Kender 2014-10-01 15:18:36

+0

Hi @Kender我已經更新了我的問題。 – 2014-10-01 15:21:15

+0

那麼,你有27個可能的段落...我會產生3個隨機數字,然後用每個數字從3組中的每一組中選擇一個句子(開頭,第二,最後)。在這個應用程序中生成隨機數的程度並不重要。 – 2014-10-01 15:21:22

回答

3

這個問題太廣泛了。但這可以讓你感覺它看起來如何。

$sentences = array(
     array('sen1-1', 'sen1-2', 'sen1-3'), 
     array('sen2-1', 'sen2-2', 'sen2-3'), 
     array('sen3-1', 'sen3-2', 'sen3-3') 
    ); 
    echo $sentences[0][rand(0, 2)] . $sentences[1][rand(0, 2)] .$sentences[2][rand(0, 2)]; 
+0

我喜歡這個! Simlple,這是我實際上想到的,我對我的問題的道歉很寬泛,我不打算,我先嚐試了多個論壇和其他方法。 我現在正在考慮讓這個按鈕激活回聲..我真的很感激你的幫助noam。 – 2014-10-01 19:43:59

+1

高興地幫助歐文。我會補充說,做高質量的語言生成將包括構建一個更有趣的模型(類似於自動機),它可能也會學習哪些句子可以從輸入學習集中使用。 – Noam 2014-10-02 06:59:34

+0

它非常聰明,而且非常簡單的PHP,它只是基本的數組,使它能夠創造一個句子,但是我對上述感到非常滿意。萬分感激。 – 2014-10-02 14:43:49

0

您可以使用這樣的代碼:

$sentences = array(
    array('A - first', 'A - second', 'A - third'), 
    array('B - first', 'B - second', 'B - third'), 
    array('C - first', 'C - second', 'C - third') 
); 

$selected = array(); 
foreach ($sentences as $sentence) { 
    $selected[] = $sentence[rand(0, count($sentence) - 1)]; 
} 

$paragraph = implode(' ', $selected); 
echo $paragraph; 

// => A - second B - first C - second