我试图使用代码波纹管在一个新的网页刷新呼应随机的网址,但我不能让它工作显示,当我的网页已经被刷新随机链接
<?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