2012-08-15 88 views
0

如何獲取get參數的值是一個值列表?我嘗試使用request->query->get('parameter')但這隻返回一個值。如何獲取symfony2中多值獲取參數的值

假設您有一個國家參數並且想要傳遞多於1個值。例如... ?country=us,gb使用得到只給你'我們'。

我在文檔中找不到這個。

回答

4

你必須這樣

country[]=us&country[]=gb 
+0

謝謝。這是對的!如果查詢格式如此,request-> query-> get('parameter')將返回一個數組()。 – 2012-08-16 21:07:13

1

從他們的手冊(http://symfony.com/doc/current/book/http_fundamentals.html)

use Symfony\Component\HttpFoundation\Request; 

$request = Request::createFromGlobals(); 

$request->query->get('foo'); 

編輯:

對不起,我誤解你的問題。你想要一個像$ _GET這樣的所有GET語句的數組會給你嗎?

這是可以做到的(也包括POST參數):

<?php $request->getParameterHolder()->getAll(); 
+0

對不起,如果我不清楚格式化你的查詢參數。假設你有一個國家參數並且想要傳遞超過1個值。例如...?country = us,gb 使用get只會給你'我們'。謝謝 – 2012-08-15 23:41:33

+0

然後你需要urlencode你的變量和使用爆炸: yourfile.php?language = us + ru $ languages = explode(「」,urldecode($ _ GET ['language'])); – 2012-08-15 23:53:53