Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: близкое знакомство с AppendIterator

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: повествование
DlTA
Отправлено: 22 Июля, 2014 - 10:52:51
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




сегодня лень толкнула на близкое изучение AppendIterator
предисловие (Отобразить)
где $optionList обычно ассоциативный массив, и вот в очередной раз готовя список лень шелохнулась, так как исходный список поставщиков получался из итератора объектов поставщиков,
и нужно было в первый элемент добавить элемент "Все"


так вот при первом ознакомлении с этим классом кидается в глаза неудобство:
PHP:
скопировать код в буфер обмена
  1.  
  2. $pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
  3. $toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
  4. $appendIterator = new AppendIterator;
  5. $appendIterator->append($pizzas);
  6. $appendIterator->append($toppings);
  7.  

получается что б смержить с массивом, нужно каждый раз оборачивать массив в ArrayIterator, фиг бы с ним, но для этого каждый раз писать $appendIterator->append($pizzas); громоздко
выходом становится обернуть создание итератора и мерж в метода:

Спойлер (Отобразить)


p.s. недостатком является тот факт, что в данном случае все объекты в итераторе должны поддерживать метод __toString()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB