Добрый день!
Есть простой сайт с новостями и категориями.
Допустим, пользователь захотел посмотреть все новости из категории world и перешел на страницу site.ru/category/world/
Как видно, в url страницы присутствует только название категории и нужно как-то получить её id, чтобы вывести все записи данной категории.
По идеи, достаточно сделать SELECT на поиск категории с названием wolrd и взять её id.
НО, лишний запрос делать не хочется, а т.к. вся информация о категориях у меня хранится в многомерном массиве, собственно возникает вопрос:
Как мне получить [id] из массива, где присутствует [url] => world ?
За место world, может быть любая другая категория, её название берется из $_GET['url_cat']
Array
(
[1] => Array
(
[id] => 1
[name] => Новости
[url] => world
[title] => Новости мира - Всё самое интересное!
[description] => Описание категории новости!
[keywords] => Ключевое слово, ключ, кей
)
[2] => Array
(
[id] => 2
[name] => Политика
[url] => politica
[title] => Всё о политике
[description] => Описание категории политика!
[keywords] => Ключевое слово, ключ, кей
)
)
Предположил, что массив категорий лежит в переменной $categories
, и что ищем ID категории world
:
$id = array_column($categories, 'id', 'url')['world'];
Как то так
function getID($AArray, $AURL) {
foreach ($AArray as $item) {
if (isset($item['url']) {
// Достигли нужного уровня с данными
if ($item['url'] === $AURL)
return $item['id'];
} else {
// Иначе - вызываем себя рекурсивно для следующего уровня
$res = getID($item, $AURL);
// Если что-то нашли - выходим
if (isset($res))
return $res;
}
}
// ничего не нашли
return null;
}
foreach ($array as $a) {
if ($a['url'] == $_GET['url_cat']) {
echo $a['id'];
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, есть таблица translate на базе mysql с переводом в размере 700 тыс записей, делаю в цикле перевод каждое слово:
Друзья, после загрузки картинки на сервер, картинка не открываетсяТ