FanatPHP, считаю что мой ответ прекрасно отвечает на вопрос автора и решит поставленную задачу. А рассказывать "как правильнее", советовать почитать про 3НФ, или как сджоинить две таблицы я не хочу и не обязан.
M4xwell, в таком случае мой ответ должен полностью решить ваш вопрос. Изменение часового пояса через date_default_timezone_set() автоматически повлияет на результат работы функции date()
FanatPHP, ну статьи на английском уже некоторое время есть на хабре.
А ссылка первое что выдал мне гугл. Я бегло посмотрел содержимое - вроде норм список, и скинул в ответ.
Как вариант - можно не использовать parse_str(), а самому разбивать $qs_part на части через explode() по & и затем по = чтобы получить key-value список
Список всех доступных свойств, как мне кажется, должны быть чётко прописаны в самом объекте, а не где-то во внешнем файле.
Выносить это во внешний файл имеет смысл только если поля часто меняются и актуализировать их надо без участия разработчика, скажем конфиг который редактирует менеджер через админку.
Нужно уточнить что если у автора каждый массив отдельная переменная типа
$arr1, $arr2, $arrN то ему их нужно ещё собрать внутрь другого массива чтобы передать в array_column как единый аргумент