У меня есть PHP массив main_array
, и в моем файле шаблона у меня есть функция, которая обращается к этому массиву. В рамках этой функции у меня есть другая функция, которая может получать и отображать значения main_array
в зависимости от того, какой ключ запрашивается на текущей странице интерфейса. Я использую это для получения метаданных, хранящихся в main_array
на основе URL-адреса или идентификатора страницы или какого-либо другого запроса.
Пример: на первой странице у меня есть
$prod_id = [
["query" => "prod-1"],
["query" => "prod-2"]
];
In main_array
У меня есть
$main_array = [
["name" => "prod-1", "tags" => "lilac, rose, wood"],
["name" => "prod-2", "tags" => "wood, plastic"]
];
В файле шаблона у меня есть al oop и функция поиска, которая получает теги соответствующих продуктов и создает массив для каждого
function lookup($lookup_value, $lookup_array, $lookup_column, $result_column) {
foreach ($lookup_array as $item) {
if ($item[$lookup_column] == $lookup_value) {
return $item[$result_column];
}
}
return false;
}
foreach ($prod_id as $tags) {
$result = lookup($tags["query"],$main_array,"name","tags");
}
Это отлично работает, он создаст два массива с двумя наборами тегов. Проблема, с которой я сталкиваюсь, - это объединение массивов, созданных функцией поиска, чтобы я мог получить уникальные значения - я не хочу, чтобы тег «wood» появлялся дважды. Я какое-то время путался с array_merge
, но он не выводит, как ожидалось.