我試圖使用代碼波紋管在一個新的網頁刷新呼應隨機的網址,但我不能讓它工作顯示,當我的網頁已經被刷新隨機鏈接
<?php
$url=array(
'http://www.google.com',
'http://www.in.gr',
'http://www.yahoo.gr'
);
$random=rand(1,count($url));
echo $url[$random];
?>
謝謝所有!
我試圖使用代碼波紋管在一個新的網頁刷新呼應隨機的網址,但我不能讓它工作顯示,當我的網頁已經被刷新隨機鏈接
<?php
$url=array(
'http://www.google.com',
'http://www.in.gr',
'http://www.yahoo.gr'
);
$random=rand(1,count($url));
echo $url[$random];
?>
謝謝所有!
數組索引從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];
?>
更換
$random=rand(1,count($url));
隨着
$random = mt_rand(0, count($url) - 1);
更改爲:
$random=rand(0, count($url)-1);
與您的代碼問題是你設定的最低爲1,最高爲網址總數。數組基於零,因此您需要0作爲最小值,並且您需要最大值count($url)-1
。在這種情況下,您有3個網址,但第三個網址在$url[2]
而不是$url[3]
。
試試這個
<?php
$url = array(
'http://www.google.com',
'http://www.in.gr',
'http://www.yahoo.gr'
);
$random = array_rand($input);
echo $url[$random];
?>
數組的第一個關鍵是0,所以改變rand函數這樣:
rand(0,count($url) - 1);
嗯,首先改變這種:
$random=rand(1,count($url));
至
$random=rand(0,count($url) - 1);
數組起始索引爲0
究竟是什麼問題? – GolfWolf
你是什麼意思這代碼沒有錯? – Baba
@ user2180613有**有一件事是錯誤的。查看所有答案! – DaGardner