组合2个阵列,以便在我的URL中正确显示

时间:2013-09-09 23:03:37

标签: php

我有一个数组$ cat1,包括

cat1[0]=>16 and cat1[1]=>16.

我也有这个数组:

$url_vars = array('text'=>$event->properties['text'],'SearchResultPagerPage'=>$thenextpage);

我需要将这些组合到这个URL函数中:

$this->URL('SearchResult','',$url_vars);

因此生成的URL需要如下所示:

/SearchResult.html?text=cat&SearchResultPagerPage=1&cat1[]=1&cat1[]=16

目前,如果我将它们组合在一起,我会将其作为生成的组合数组:

Array
(
    [text] => cat
    [SearchResultPagerPage] => 1
    [0] => 1
    [1] => 16
)

,这是结果网址:

SearchResult.html?&text=cat&SearchResultPagerPage=1&1=16

我如何形成这个,以便说cat1 [] = 1& cat1 [] = 16而不是1 = 16?

非常感谢任何人提供的任何帮助!!

1 个答案:

答案 0 :(得分:0)

如果你必须使用URL函数$this->URL('SearchResult','',$url_vars);,那么一个想法是使用cat1数组中的索引。那就是:

$url_vars["cat1[0]"] = 1;
$url_vars["cat1[1]"] = 16;

这将导致您的查询字符串

...&cat1[0]=1&cat1[1]=16

可能已经转义了[],但也许您的服务器脚本可以正确地容纳这些索引。值得一试。否则你将不得不在URL函数之外生成URL,因为你不能拥有一个具有相同键“cat1 []”的php数组,而是两个单独的值。

编辑:如果您的网址功能足够智能,请尝试另外一件事:

$url_vars["cat1"] = [1,16];