2011-12-30 43 views
7

比方說,我有三個變量: -呼應出一個隨機變量

$first = "Hello"; 
$second = "Evening"; 
$third = "Goodnight!"; 

我將如何迴應一個隨機到頁面上,因爲我想有這個模塊在我的網站側邊欄會改變每刷新一次,隨機

回答

16

將它們放置到一個數組中,並從它與rand()隨機選擇。傳遞給rand()的數字邊界對於較低的數字邊界爲零,作爲數組中的第一個元素,並且比數組中元素的數量少一個。

$array = array($first, $second, $third); 
echo $array[rand(0, count($array) - 1)]; 

例子:

$first = 'first'; 
$second = 'apple'; 
$third = 'pear'; 

$array = array($first, $second, $third); 
for ($i=0; $i<5; $i++) { 
    echo $array[rand(0, count($array) - 1)] . "\n"; 
} 

// Outputs: 
pear 
apple 
apple 
first 
apple 

或者更簡單地說,通過調用array_rand($array)並通過將結果返回爲數組鍵:

// Choose a random key and write its value from the array 
echo $array[array_rand($array)]; 
+0

哦,謝謝你:) – Frank 2011-12-30 04:36:42

8

使用數組:

$words = array('Hello', 'Evening', 'Goodnight!'); 

echo $words[rand(0, count($words)-1)]; 
+0

但這些不只是要的話,這將是相當沉重的HTML。那麼我可以用'$ first'變量代替'First',並在代碼上面聲明它並設置一個值? – Frank 2011-12-30 04:35:49

+3

你可以把任何你想要的數組。但是,如果你將「沉重的」html轉化爲可變的,你可能需要重新考慮你的設計。 – 2011-12-30 04:38:17

+0

由此你的意思是什麼? – Frank 2011-12-30 04:39:19

3

爲什麼不使用array_rand()此:

$values = array('first','apple','pear'); 
echo $values[array_rand($values)]; 
1

生成一個更好的隨機值,您可以使用mt_rand()

例子:

$first = "Hello"; 
    $second = "Evening"; 
    $third = "Goodnight!"; 
    $array = array($first, $second, $third); 
    echo $array[mt_rand(0, count($array) - 1)];