2

我正在尝试使用下面的代码在新的网页刷新时回显一个随机 url,但我无法让它工作

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

谢谢你们!

4

7 回答 7

2

代替

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

$random = mt_rand(0, count($url) - 1);
于 2013-07-04T18:15:38.813 回答
0

我没有尝试过,但它应该可以工作......我希望......

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

$rand =  rand(0, 2);

echo $url[$rand];
于 2013-07-04T18:13:43.650 回答
0

数组索引从 0 开始,以长度 1 结束。 http://php.net/manual/en/function.rand.php 第一个值是最小值。这是0。第二个值是最大值,它是数组的最后一个索引。

<?php
$url=array(
'http://www.google.com',
'http://www.in.gr',
'http://www.yahoo.gr'
);
$random=rand(0,count($url));
echo $url[$random];
?>
于 2013-07-04T18:15:20.337 回答
0

改成:

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

您的代码的问题是您将最小值设置为 1,将最大值设置为 URL 的总数。数组是从零开始的,所以你需要 0 作为最小值,你需要count($url)-1作为最大值。在这种情况下,您有 3 个 URL,但第三个 URL 在$url[2]not中$url[3]

于 2013-07-04T18:15:40.527 回答
0

尝试这个

<?php
  $url = array(
    'http://www.google.com',
    'http://www.in.gr',
    'http://www.yahoo.gr'
  );
  $random = array_rand($input);
  echo $url[$random];
?>
于 2013-07-04T18:16:08.757 回答
0

数组的第一个键是 0。所以将 rand 函数更改为:

rand( 0,count($url) - 1 );
于 2013-07-04T18:16:37.260 回答
0

好吧,首先改变这个:

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

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

数组起始索引为 0

于 2013-07-04T18:17:08.013 回答