Symfony-http請求未返回具有相同密鑰的參數

在我的Symfony項目中,我請求了一個帶有查詢參數的URL,一個是通過相同鍵值的數組添加的,另一個是返回給我的字符串類型:

http://localhost/php-api/v1/examples/query?array=1&array=2&array=3&property=aa

我參考了DOCS,但仍然沒有得到我想要的解決方案。無論如何,數組鍵總是只返回最后一個:

$request->query->all();

Get's me:

Array
(
    [array] => 3
    [property] => aa
)

我也嘗試了Request類中的其他方法,但沒有一個方法使它返回所有查詢參數。

有人知道怎么解決這個問題嗎?

我想要的輸出:

{
"array": [
    "1",
    "2",
    "3"
  ],
  "property": "aa"
}
? 最佳回答:

您必須從服務器變量中獲取QUERY_STRING。這有原始參數。

解決方案可能如下所示:

$params = [];
$queryString = $request->server->get('QUERY_STRING');
$paramsQueryString = explode('&', $queryString);
foreach ($paramsQueryString as $paramQueryString) {
    list($key, $value) = explode("=", $paramQueryString);
    if (!isset($params[$key])) {
        $params[$key] = [];
    }
    $params[$key][] = $value;
}

// Which key has only one element? Then remove the array.
foreach ($params as $key => $value) {
    if (count($value) === 1) {
        unset($params[$key]);
        $params[$key] = $value[0];
    }
}

$params

Array
(
    [array] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [property] => aa
)
主站蜘蛛池模板: 国产激情一区二区三区| 无码精品一区二区三区免费视频| 日韩精品无码一区二区三区不卡| 日韩精品一区在线| 日本免费电影一区| 无码视频一区二区三区在线观看| 国偷自产视频一区二区久| 国产乱码一区二区三区四| 中文字幕一精品亚洲无线一区| 波多野结衣一区二区免费视频 | 日韩好片一区二区在线看| 国产成人一区在线不卡| 日本美女一区二区三区| 免费看无码自慰一区二区| 一色一伦一区二区三区| 亚洲欧美日韩一区二区三区| 3D动漫精品一区二区三区| 91久久精品国产免费一区| 久久久久人妻精品一区二区三区 | 蜜桃视频一区二区三区在线观看 | 亚洲日本中文字幕一区二区三区 | 亚洲av成人一区二区三区在线观看| 精品女同一区二区三区免费站| 无码国产精品一区二区免费vr| 精品一区二区三区免费| 亚洲AV乱码一区二区三区林ゆな| 久久99热狠狠色精品一区| 香蕉免费一区二区三区 | 一区二区三区在线|日本| 精品3d动漫视频一区在线观看| 国产一区二区在线观看视频| 国产成人高清亚洲一区91 | 午夜DV内射一区区| 精品国产精品久久一区免费式 | 久久精品国产一区二区| 熟女少妇丰满一区二区| 久久亚洲AV午夜福利精品一区| 亚洲男女一区二区三区| 国产精品99精品一区二区三区| 国产在线观看一区二区三区| 成人国内精品久久久久一区|