如何使用PHP随机化链接

时间:2013-02-24 10:49:20

标签: php html arrays hyperlink

我正在使用array_rand()尝试随机化3个链接。我基本上想要刷新页面时显示不同的链接。这是我到目前为止所尝试的内容。

$links = '<a href="http://google.com">google</a>, <a href="http://facebook.com">facebook</a>, <a href="http://yahoo.com">yahoo</a>';
$links_to_array = preg_split("/ ,/", $links );
$randomize = array_rand($link_to_array, 1);
echo ($links_to_array[$randomize]);

所以基本上当我刷新它似乎工作但有时所有链接立即显示。你可以自己尝试一下,让我知道我需要修复的地方。

非常感谢您的时间。

3 个答案:

答案 0 :(得分:2)

应该是

$links_to_array = preg_split("/, /", $links, -1, PREG_SPLIT_NO_EMPTY);

<强>更新

$links = array('<a href="http://google.com">google</a>', 
               '<a href="http://facebook.com">facebook</a>', 
               '<a href="http://yahoo.com">yahoo</a>');


echo $links[rand(0,2)]; // instead of 2 you can also write count($links)

答案 1 :(得分:1)

你正在使用preg_split,在逗号之前加一个空格而不是空格之前的逗号。请改用explode(',', $links)

答案 2 :(得分:1)

$links = '<a href="http://google.com">google</a>, <a href="http://facebook.com">facebook</a>, <a href="http://yahoo.com">yahoo</a>';
$links_to_array = explode(", ", $links);
$randomize = array_rand($links_to_array, 1);
echo ($links_to_array[$randomize]);