[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Get и массивы
Страницы: 1, 2
Николай
Здравствуйте, уважаемые форумчане. Хочу спросить совет/наставление/рекомендацию.
Мне нужно обрабатывать запрос гет следующим образом:
На входе подобный запрос: ?cat=red&dog=black&bird=yellow&bird=gray&bird=orange
На выходе нужно получить что-то вроде:
Array
(
[cat] =>red
[dog] => black
[bird] => Array
(
[0] => yellow
[1] => gray
[2] => orange
)
)
Как это сделать?
miketomlin
после bird пустые кв. скобки поставьте.

Задача нифига не практичная. Кто такие задает – тупо отрабатывает свои деньги.
Николай
miketomlin, там такая история, что этих птиц прямо в url и вводят и нужна функция, которая бы, видя одинаковые ключи, превращала этих птиц в новый вложенный массив.
Valick
Николай, плохо что у тебя массив с разными типами значений на одном уровне.
Должен по хорошему быть таким.


Array
(
[
cat] => Array
(
[
0] => red
)
[
dog] =>Array
(
[
0] => black
)
[
bird] => Array
(
[
0] => yellow
[1] => gray
[2] => orange
)
)


т.е пустые квадратные скобки надо добавить ко всем переменным cat[]=*** dog[]=*** bird[]=***

_____________
Стимулятор ~yoomoney - 41001303250491
Николай
Valick
Если Вы подскажете как получить такой результат- тоже буду брагодарен
Valick
Николай, уже подсказал

?cat[]=red&dog[]=black&bird[]=yellow&bird[]=gray&bird[]=orange

_____________
Стимулятор ~yoomoney - 41001303250491
Николай
Valick, нет-нет. В строке url руками ничего трогать нельзя
Valick
Цитата (Николай @ 11.04.2022 - 17:55)
Valick, нет-нет. В строке url руками ничего трогать нельзя

Цитата (Николай @ 11.04.2022 - 17:14)
miketomlin, там такая история, что этих птиц прямо в url и вводят

вот тут уж надо определиться, трогает кто-то руками строку или нет


_____________
Стимулятор ~yoomoney - 41001303250491
Николай
Valick, её трогает только заказчик, вводя через & свои ключи со значениями, причём он может сделать несколько разных значений с одним ключом. И это нужно обрабатывать через функцию
brevis
Цитата (Николай @ 11.04.2022 - 18:55)
Valick, нет-нет. В строке url руками ничего трогать нельзя

Велосипед пиши типа такого https://glot.io/snippets/g8rkwiucq4

_____________
Чатик в телеге
Николай
brevis, а вызвать эту функцию, передав $_get?
print_r(parseQueryString($_GET))
brevis
parseQueryString($_SERVER['QUERY_STRING'] ?? '')


_____________
Чатик в телеге
Николай
brevis, а вот нет. Нужно чтобы именно так призывалась print_r(parseQueryString($_GET))
brevis
user posted image

_____________
Чатик в телеге
Николай
brevis, так а как? preg_match_all хочет строку. Переделывать $_get под общий вид $_SERVER['QUERY_STRING'], т.е. - implode("&",$_get)?
Это ж бред
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.