Я пытаюсь фильтровать данные с помощью 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);
Согласен с @Syscall. Лучше использовать механизм POST с отправкой данных массива.






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