我正在使用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]);
所以基本上当我刷新它似乎工作但有时所有链接立即显示。你可以自己尝试一下,让我知道我需要修复的地方。
非常感谢您的时间。
答案 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]);