Невозможно отфильтровать многомерный массив с помощью array_filter в PHP

Я пытаюсь фильтровать данные с помощью PHP. Я могу фильтровать с помощью ключа, когда в параметрах есть только один ключ. Если есть несколько ключей, я получаю значение только для последнего параметра.

Пример: в URL-адресе запроса, если City=NY& Category=Population, я получаю правильное значение. Когда я добавляю еще один параметр с тем же ключом, то есть City=NY&Category=Population&City=SF, я получаю значение только для SF, где он должен дать мне сумму как NY, так и SF. Данные извлекаются из таблицы.

Мой код:

function search(array $array, array $search)
{

return array_filter($array, function ($item) use ($search) {

//print_r(array_intersect_assoc($search, $item));
print_r($item);
return array_intersect_assoc($search, $item) === $search;

});
}

$filteredarray = search($json_output, $query);

Если вы хотите, чтобы в строке запроса было несколько City, вам следует использовать City[]=NY&City[]=SF. В противном случае последний параметр имеет приоритет над предыдущими.

Syscall 02.04.2018 14:21

Согласен с @Syscall. Лучше использовать механизм POST с отправкой данных массива.

Serving Quarantine period 02.04.2018 14:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
31
0

Другие вопросы по теме