2013-07-04 94 views
2

我試圖使用代碼波紋管在一個新的網頁刷新呼應隨機的網址,但我不能讓它工作顯示,當我的網頁已經被刷新隨機鏈接

<?php 
$url=array(
'http://www.google.com', 
'http://www.in.gr', 
'http://www.yahoo.gr' 
); 
$random=rand(1,count($url)); 
echo $url[$random]; 
?> 

謝謝所有!

+0

究竟是什麼問題? – GolfWolf

+0

你是什麼意思這代碼沒有錯? – Baba

+0

@ user2180613有**有一件事是錯誤的。查看所有答案! – DaGardner

回答

0

我沒有試過,但它應該工作...我希望..

<?php 
$url=array(
'http://www.google.com', 
'http://www.in.gr', 
'http://www.yahoo.gr' 
); 

$rand = rand(0, 2); 

echo $url[$rand]; 
+0

這與她所擁有的沒有什麼不同。 – Brad

+0

@Brad你是什麼意思?它的工作原理或我必須錯過的問題 – 2013-07-04 18:16:33

+0

您的上次修改解決了問題。 – Brad

0

數組索引從0開始,以長度爲1的結束。 http://php.net/manual/en/function.rand.php 第一個值是最小值。 第二個值是數組的最後一個索引的最大值。

<?php 
$url=array(
'http://www.google.com', 
'http://www.in.gr', 
'http://www.yahoo.gr' 
); 
$random=rand(0,count($url)); 
echo $url[$random]; 
?> 
2

更換

$random=rand(1,count($url)); 

隨着

$random = mt_rand(0, count($url) - 1); 
0

更改爲:

$random=rand(0, count($url)-1); 

與您的代碼問題是你設定的最低爲1,最高爲網址總數。數組基於零,因此您需要0作爲最小值,並且您需要最大值count($url)-1。在這種情況下,您有3個網址,但第三個網址在$url[2]而不是$url[3]

0

試試這個

<?php 
    $url = array(
    'http://www.google.com', 
    'http://www.in.gr', 
    'http://www.yahoo.gr' 
); 
    $random = array_rand($input); 
    echo $url[$random]; 
?> 
0

數組的第一個關鍵是0,所以改變rand函數這樣:

rand(0,count($url) - 1); 
0

嗯,首先改變這種:

$random=rand(1,count($url)); 

$random=rand(0,count($url) - 1); 

數組起始索引爲0