0

我有一个数组 $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
)

这是生成的 URL:

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

我如何形成它以使其显示 cat1[]=1&cat1[]=16 而不是 1=16?

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

4

1 回答 1

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 功能足够智能,可以尝试另一件事:

$url_vars["cat1"] = [1,16];
于 2013-09-09T23:18:24.100 回答