首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数组重定向到随机链路

问从数组重定向到随机链路
EN

Stack Overflow用户
提问于 2015-06-09 07:03:02
回答 5查看 1.3K关注 0票数 0

我有一个脚本,是重定向冲浪者到我的网站部分。例如,当我向script.php?car=bmw发送surfer时,它是将surfer重定向到http://www.mywebsite.com/bmw

脚本如下所示:

代码语言:javascript
复制
<?php
$array = array(
    "bmw" => "http://www.mywebsite.com/bmw",
    "toyota" => "http://www.mywebsite.com/toyota",
    "mercedes" => "http://www.mywebsite.com/mercedes"
);

$car = $_GET['url'];

header("Location: " . $array[$car]);

?>

现在我想把冲浪者重定向到随机车,例如

代码语言:javascript
复制
"bmw" => "http://www.mywebsite.com/bmw/x1","http://www.mywebsite.com/bmw/x3","http://www.mywebsite.com/bmw/x5",

"toyota" => "http://www.mywebsite.com/toyota/yaris", "http://www.mywebsite.com/toyota/avensis", "http://www.mywebsite.com/toyota/corolla",

"mercedes" => "http://www.mywebsite.com/mercedes/e", "http://www.mywebsite.com/mercedes/s",  "http://www.mywebsite.com/mercedes/d"

因此,当我发送冲浪者到script.php?car=bmw,脚本将重定向用户到一个随机页面从宝马部分。

我可以用一个数组来完成这个任务吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-06-09 07:26:00

您需要使用多维数组和array_rand()函数。试着考虑下面的代码:

代码语言:javascript
复制
$array = array(
    "bmw" => array("http://www.mywebsite.com/bmw/x1","http://www.mywebsite.com/bmw/x3","http://www.mywebsite.com/bmw/x5"),
    "toyota" => array("http://www.mywebsite.com/toyota/yaris", "http://www.mywebsite.com/toyota/avensis", "http://www.mywebsite.com/toyota/corolla"),
    "mercedes" => array("http://www.mywebsite.com/mercedes/e", "http://www.mywebsite.com/mercedes/s",  "http://www.mywebsite.com/mercedes/d")
);

$car = $_GET['url'];

header("Location: " . $array[$car][array_rand($array[$car],1)]);

而不是有一个值的‘宝马’,它现在有一系列的价值可以随机(array_rand()为您做的工作)。

票数 1
EN

Stack Overflow用户

发布于 2015-06-09 07:07:23

你可以用array_rand -

把它们作为-

代码语言:javascript
复制
"bmw" => "http://www.mywebsite.com/bmw/x1,http://www.mywebsite.com/bmw/x3,http://www.mywebsite.com/bmw/x5",

并使用-

代码语言:javascript
复制
header("Location: " . array_rand(explode(',', $array[$car])));
票数 2
EN

Stack Overflow用户

发布于 2015-06-09 07:18:01

在本例中,您可以重构数组以包括这些子类型。有点像

代码语言:javascript
复制
<?php
$array = array(
    "bmw" =>array(
        'car1' =>  "http://www.mywebsite.com/bmw/car1",
        'car2' =>  "http://www.mywebsite.com/bmw/car2",
        'car3' =>  "http://www.mywebsite.com/bmw/car3",
        'car4' =>  "http://www.mywebsite.com/bmw/car4",
    ),
    "toyota" =>array(
        'car5' =>  "http://www.mywebsite.com/toyota/car5",
        'car6' =>  "http://www.mywebsite.com/toyota/car6",
    ),
    "mercedes" =>array(
        'car7' =>  "http://www.mywebsite.com/mercedes/car7",
        'car8' =>  "http://www.mywebsite.com/mercedes/car8",
    ),
);

$car = $_GET['url'];

header("Location: " . $array[$car][array_rand($array[$car]))];

?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30725087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档