2014-08-27 59 views
1
<?php 
    $random1 = '<p>Quotes van de fans:</p><h2>Why join the navy<BR />if you can be a pirate.</h2><h3>Steve jobs</h3>'; 
    $random2 = '<p>Quotes van de fans:</p><h2>Lorem2</h2><h3>Steve jobs</h3>'; 
    $random3 = '<p>Quotes van de fans:</p><h2>Lorem3</h2><h3>Steve jobs</h3>'; 
    echo(rand($random1, $random2, $random3)); 
?> 

所以我写了上面的代码。我想我的代码随机化出现的报价。会不会有一种用户友好的方式在网站上实现这一点?随机HTML字符串输出

我在Wordpress中建立一个网站,我想知道如果Wordpress(或PHP)有一个更简单的随机输出方法。

回答

11

或者,您可以定义一个包含HTML字符串的数组,然后使用array_rand()函数来获取随机输入/元素。例如:

// set of elements with random quotes 
$quotes = array(
    '<p>Quotes van de fans:</p><h2>Why join the navy<BR />if you can be a pirate.</h2><h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem2</h2><h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem3</h2><h3>Steve jobs</h3>', 
); 

// apply array_rand function 
echo $quotes[array_rand($quotes)]; 
+3

哇史蒂夫·乔布斯真的说过这句话 – Ghost 2014-08-27 13:22:56

+0

是的,谢谢你的回答呃。 – 2014-08-27 13:27:20

+0

@MarcoGeertsma很高兴帮助。 – Ghost 2014-08-27 13:28:45

0
$random = array(); 

$random[] = '<p>Quotes van de fans:</p><h2>Why join the navy<BR />if you can be a pirate.</h2><h3>Steve jobs</h3>'; 
$random[] = '<p>Quotes van de fans:</p><h2>Lorem2</h2><h3>Steve jobs</h3>'; 
$random[] = '<p>Quotes van de fans:</p><h2>Lorem3</h2><h3>Steve jobs</h3>'; 

shuffle($random); 

foreach($random as $quote) 
{ 
    echo $quote; 
} 
+0

这将肯定随机数组。但显示所有元素 – 2014-08-27 13:28:47

+0

真的我误解了一些问题。随机引用可以使用$ random [0]。 – Rimble 2014-08-27 13:31:47

+1

这个,或者如果你真的想在第一次迭代之后使用foreach(我个人不会)使用'break;',所以循环不会重复 – 2014-08-27 13:32:50

0

我会用这样的:

<?php 
$quotes = array(
    '<p>Quotes van de fans:</p><h2>Why join the navy<BR />if you can be a pirate.</h2><h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem2</h2><h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem3</h2><h3>Steve jobs</h3>' 
); 

echo($quotes[mt_rand(0, (count($quotes) - 1))]); 

>

0

你也可以做到这一点干净简单:

$quotes = array(
    '<p>Quotes van de fans:</p><h2>Why join the navy<BR />if you can be a pirate.</h2> <h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem2</h2><h3>Steve jobs</h3>', 
    '<p>Quotes van de fans:</p><h2>Lorem3</h2><h3>Steve jobs</h3>', 
); 

echo $quotes[rand(0,2)]; // 0-2 (Since array's start on 0) 
+1

如果数组扩展? – 2014-09-02 20:24:03