Есть массив страниц, в котором ключ является название рубрики, а значение ключа является список страниц в этой рубрике.
P.S. исправил немного вопрос
$uri = 'page3/link3.1';
$pages = [
'page1'=>[
'link1'=>'ссылка1',
'link1.2'=>'ссылка1.2',
'link1.3'=>'ссылка1.3'
],
'page2'=>[
'link2.1'=>'ссылка2',
'link2.2'=>'ссылка2.2',
'link2.3'=>'ссылка2.3'
],
'page3'=>[
'link3.1'=>'ссылка3',
'link3.2'=>'ссылка3.2',
'link3.3'=>'ссылка3.3'
],
]
нужно сделать что-то на подобии связанных постов.
Подскажите, как правильно определить, допустим если находимся не на странице рубрики page1, а в подрубрике, т.е. значения массива link1, то нужно получить все подрубрики, кроме текущей ?
К примеру зашли на страницу page3/link3.1 значит нужно получить все страницы в текущей рубрике page3 кроме link3.1.
Нужно получить значения ключей link чтобы вывести на русском названия связанных записей, кроме текущей.
Но если текущая страница page3, то все рубрики выводить не нужно
К примеру зашли на страницу page3/link3.1 значит нужно получить все страницы в текущей рубрике page3 кроме link3.1
Вот вроде бы то, что вам нужно:
$pages = [
'page1'=>[
'link1'=>'ссылка1',
'link1.2'=>'ссылка1.2',
'link1.3'=>'ссылка1.3'
],
'page2'=>[
'link2.1'=>'ссылка2',
'link2.2'=>'ссылка2.2',
'link2.3'=>'ссылка2.3'
],
'page3'=>[
'link3.1'=>'ссылка3',
'link3.2'=>'ссылка3.2',
'link3.3'=>'ссылка3.3'
],
];
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
$array = explode('/', rtrim($uri, '/'));
if (count($array) > 1) {
list($page, $link) = $array;
$pages = $pages[$page] ?? [];
foreach ($pages as $key => $url ) {
$key == $link ?: print "$url<br>";
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники