2011-04-09 83 views
0

我试图做一些与PHP与$_GET值,但我似乎是不可能的,例如:

?id=15&lang=en 

?id=15&lang=en页面站点语言

我想这一个

?id=15,en而是采用&lang=en我想更换&lang=用逗号(,

如何在PHP中执行此操作,或者可以使用.htaccess配置进行尝试?

+4

您为什么要这么做? – 2011-04-09 13:16:40

+0

为什么不只是'15,en'? – Gumbo 2011-04-09 14:04:33

回答

2

如果你有一个网址,如这一个:

http://.../temp.php?id=15,en 

$_GET将包含一个阵列,只有一个项目:

array 
    'id' => string '15,en' (length=5) 

这意味着你必须提取相关数据那$_GET['id']条目。


例如,你可以使用这样的事情:

$items = explode(',', $_GET['id']); 
if (count($items) === 2) { 
    list($id, $lang) = $items; 
    echo "id : $id<br>"; 
    echo "lang : $lang<br>"; 
} 

使用explode()分裂$_GET['id']串,用逗号作为分隔符。

而且你会得到下面的输出:

id : 15 
lang : en 


当然,得到的网址只有一个id参数,你将不得不修改应用程序生成URL的方式。

关于这一点,如果不知道您当前如何生成您的网址,我们可以做的不多...

+0

所以我有?id = 15&lang = en目前,但我想这样做吗?id = 15,en – andre 2011-04-09 13:10:18

+0

为什么count($ items)=== 2? – andre 2011-04-09 13:31:27

+0

只是为了确保有两个参数,正如所料 – 2011-04-09 13:38:04