Это просто любопытный вопрос, рассуждения позади этого - это просто быть немного более ленивым с моей стороны. Вот что я имею в виду.Могут ли ключи PHP Array иметь псевдоним?
Скажем, у меня есть сайт, на котором htaccess делает хорошие URL-адреса и отправляет эти данные в массив $ _GET ['p'] в качестве текущей «страницы». В индексном файле я настраиваю страницу, и первое, что я делаю, - установить некоторые параметры страницы в файле конфигурации, $ _PAGE массиве. Теперь, скажем, у меня есть несколько страниц, на которых я хочу иметь одинаковые настройки (и на странице внизу могут измениться другие вещи, которые не соответствуют настройкам. В настоящее время у меня есть что-то похожее на следующие 2 php-файла.
// index.php
include('page.array.php');
echo '<title>'.$_PAGE[$_GET['p']]['title'].'</title>';
// page.array.php
$_PAGE = array(
'some/page/' => array(
'title' => 'This is an example'
)
)
$_PAGE['some/aliased/page/'] = $_PAGE['some/page/'];
Обратите внимание, что в конце OFTHE массива страницы, для того, чтобы «псевдоним» страница, которую я должен добавить это к концу после того, как массив создан.
есть ли способ в PHP, который может быть Я просто не знаю, что может сделать меня чуть-чуть лениво (и в то же время добавить к более чистому коду), и сделать так, чтобы я мог просто написать ключ? Я заметил, что следующее не работает, и я полагаю, что мой вопрос в том, есть ли способ создать псевдоним в пределах тот же массив при создании массива?
Этот пример deosn't работы:
// page.array.php
$_PAGE = array(
'some/page/' => array(
'title' => 'This is an example'
),
'some/aliased/page/' => $_PAGE['some/page/']
)
Может быть, способ сослаться на "это" массив, внутри себя?
Если это невозможно, у меня нет проблемы с ответом «Невозможно». Хотя, если у вас есть лучший способ решения этого, другой, то, как я описал выше, ради того, чтобы быть более ленивым, мне было бы интересно его прочитать :)
Короткий ответ, нет, не во время его создания, к сожалению. Позже да, как и вы, или даже со ссылками (так что изменения отражаются), но «источник» должен существовать и быть полностью инстанцированным до того, как это произойдет. Я не против видеть, что эти aliasses добавлены в конце, хотя есть что сказать, чтобы отличить «настоящие» страницы и алиасы. – Wrikken