Николай
11.04.2022 - 17:51
Здравствуйте, уважаемые форумчане. Хочу спросить совет/наставление/рекомендацию.
Мне нужно обрабатывать запрос гет следующим образом:
На входе подобный запрос: ?cat=red&dog=black&bird=yellow&bird=gray&bird=orange
На выходе нужно получить что-то вроде:
Array
(
[cat] =>red
[dog] => black
[bird] => Array
(
[0] => yellow
[1] => gray
[2] => orange
)
)
Как это сделать?
miketomlin
11.04.2022 - 18:11
после bird пустые кв. скобки поставьте.
Задача нифига не практичная. Кто такие задает – тупо отрабатывает свои деньги.
Николай
11.04.2022 - 18:14
miketomlin, там такая история, что этих птиц прямо в url и вводят и нужна функция, которая бы, видя одинаковые ключи, превращала этих птиц в новый вложенный массив.
Valick
11.04.2022 - 18:44
Николай, плохо что у тебя массив с разными типами значений на одном уровне.
Должен по хорошему быть таким.
Array
(
[cat] => Array
(
[0] => red
)
[dog] =>Array
(
[0] => black
)
[bird] => Array
(
[0] => yellow
[1] => gray
[2] => orange
)
)
т.е пустые квадратные скобки надо добавить ко всем переменным cat[]=*** dog[]=*** bird[]=***
_____________
Стимулятор ~yoomoney - 41001303250491
Николай
11.04.2022 - 18:48
Valick
Если Вы подскажете как получить такой результат- тоже буду брагодарен
Valick
11.04.2022 - 18:52
Николай, уже подсказал
?cat[]=red&dog[]=black&bird[]=yellow&bird[]=gray&bird[]=orange
_____________
Стимулятор ~yoomoney - 41001303250491
Николай
11.04.2022 - 18:55
Valick, нет-нет. В строке url руками ничего трогать нельзя
Valick
11.04.2022 - 19:00
Цитата (Николай @ 11.04.2022 - 17:55) |
Valick, нет-нет. В строке url руками ничего трогать нельзя |
Цитата (Николай @ 11.04.2022 - 17:14) |
miketomlin, там такая история, что этих птиц прямо в url и вводят |
вот тут уж надо определиться, трогает кто-то руками строку или нет
_____________
Стимулятор ~yoomoney - 41001303250491
Николай
11.04.2022 - 19:02
Valick, её трогает только заказчик, вводя через & свои ключи со значениями, причём он может сделать несколько разных значений с одним ключом. И это нужно обрабатывать через функцию
brevis
11.04.2022 - 19:05
Цитата (Николай @ 11.04.2022 - 18:55) |
Valick, нет-нет. В строке url руками ничего трогать нельзя |
Николай
11.04.2022 - 19:18
brevis, а вызвать эту функцию, передав $_get?
print_r(parseQueryString($_GET))
brevis
11.04.2022 - 19:27
parseQueryString($_SERVER['QUERY_STRING'] ?? '')
_____________
Чатик в телеге
Николай
11.04.2022 - 19:33
brevis, а вот нет. Нужно чтобы именно так призывалась print_r(parseQueryString($_GET))
brevis
11.04.2022 - 19:37
Николай
11.04.2022 - 19:40
brevis, так а как? preg_match_all хочет строку. Переделывать $_get под общий вид $_SERVER['QUERY_STRING'], т.е. - implode("&",$_get)?
Это ж бред
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.