Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> аналог list для асоциативного массива 
:(
    Опции темы
studentigor
Дата 24.11.2012, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Всем привет.

Есть родительский класс-контроллер, в нем мне нужно разобрать строку запроса преобразовав её в асоциативный массив, ну к примеру
после разбора я получу вот такой массив
Код

$params = array('category' => 'some_category', 'sort' => 'date', 'page' => '2');


порядок разный, причем какието элементы могут отсутствовать, или могут присутствовать элементы с другими ключами(другие параметры).

Вот я получил параметры, выяснил на какой контроллер - экшин мне нужно это отправить, теперь нужно отправить эти параметры.

Отправляю в екшин этот массив.
Как мне исходя из этого массива создать список атрибутов, в котором ключ массива будет именем переменной, ну а значение значением.
Тоесть я в екшине получу
Код

$category = 'some_caregory';
$sort = 'date';
$page = '2';


Ну естественно будет привязка между именами гет параметров и именами переменных.

php - шный list я не сильно хочу юзпть, потому что для этого мне нужно знать имена и порядок переменных для формирования масива параметров, чтобы 
параметры правельно, не перепутавшись между собой присвоились. Да и ещё чтобы заполнить какимото значеними те переменные которые отсутствовали в строке запроса.

Подскажите как это можно организовать


PM MAIL   Вверх
ksnk
Дата 24.11.2012, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



extract 
?

Добавлено через 41 секунду
Цитата(studentigor @  24.11.2012,  14:57 Найти цитируемый пост)
Да и ещё чтобы заполнить какимото значеними те переменные которые отсутствовали в строке запроса.

array_merge
с массивом значений по умолчанию.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
studentigor
Дата 24.11.2012, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



ну extract я сдалаю в базовом контроллере, там и сформирую масив параметров запроса.

Вопрос в том как её так передать из родителя в метод наследника, причем данные могут быть в разных порядках и не обязательно что будет все значения.

Просто обработку хотелось бы сделать в родителе, чтобы не дублировать одни и теже действия в каждом наследнике.
Тоесть чтобы при вызове экшина я уже не заботился о разборе входящих данных.


Нужно что-то на подобии list, но который не обращал внимание на порядок, и не создавал переменную если её нету в массиве.

Есть ли какието стандартные варинты решения. 

про array_merge - пока эту идейку возьму на заметку

PM MAIL   Вверх
skyboy
Дата 25.11.2012, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(studentigor @  24.11.2012,  16:49 Найти цитируемый пост)
ну extract я сдалаю в базовом контроллере, там и сформирую масив параметров запроса.

Вопрос в том как её так передать из родителя в метод наследника, причем данные могут быть в разных порядках и не обязательно что будет все значения.

так нафига тогда эксртактить в родительском? так и передавай одним параметром-массивом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.