Получение параметра массива из строки запроса с помощью PHP - PullRequest
1 голос
/ 05 июня 2011

( ПРИМЕЧАНИЕ: Это продолжение предыдущего вопроса, Как передать массив в строке запроса? , где я спросил о стандартных методах передачи массивов в запросе. строки.)

Теперь у меня есть некоторый PHP-код, который должен использовать указанную строку запроса. Какие форматы массивов строк запроса распознает PHP, и нужно ли мне делать что-то особенное для получения массива?

Не работает следующее:

Строка запроса:

?formparts=[a,b,c]

PHP:

$myarray = $_GET["formparts"];
echo gettype($myarray)

результат:

string

Ответы [ 2 ]

3 голосов
/ 05 июня 2011

Ваша строка запроса должна выглядеть примерно так:

?formparts[]=a&formparts[]=b&formparts[]=c
0 голосов
/ 05 июня 2011

Если вы имеете дело со строкой запроса, вы смотрите на переменную $_GET.Это будет содержать все после ? в вашем предыдущем вопросе.

То, что вам нужно будет сделать, в значительной степени противоположно другому вопросу.

$products = array();
// ... Add some checking of $_GET to make sure it is sane
....
// then assign..
$products = explode(',', $_GET['pname']);

и так далее для каждой переменной.Я должен дать вам полное предупреждение, вы ДОЛЖНЫ проверить, что происходит через переменную $_GET, чтобы убедиться, что она нормальная.В противном случае вы рискуете подвергнуть риску ваш сайт.

...