2014-10-01 96 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