Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: обработка массива
 
 автор: mabelrod   (24.01.2011 в 22:18)   письмо автору
 
 

У меня на входе есть такой массив:



id = 1 subid = 0 title = КОМПЛЕКТУЮЩИЕ ДЛЯ КОМПЬЮТЕРОВ links = '/goods/catalog/cat/a1623'
id = 2 subid = 0 title = DEMO links = /goods/catalog/cat/a161/
id = 3 subid = 2 title = Демонстрационное оборудование 39 links = /goods/catalog/cat/a161/a16100/
id = 4 subid = 0 title = Аксессуары links = /goods/catalog/cat/a101/
id = 5 subid = 4 title = Case 1 links = /goods/catalog/cat/a101/a10104/
id = 6 subid = 4 title = Copier 5 links = /goods/catalog/cat/a101/a10120/
id = 7 subid = 4 title = Mobile Rack 27 links = /goods/catalog/cat/a101/a10107/
id = 8 subid = 4 title = USB Hub 9 links = /goods/catalog/cat/a101/a10131/
id = 9 subid = 4 title = Внешний корпус для HDD 75 links = /goods/catalog/cat/a101/a10125/
id = 16 subid = 0 title = Блоки питания links = /goods/catalog/cat/a144/
id = 17 subid = 16 title = ATX 125 links = /goods/catalog/cat/a144/a14400/
id = 18 subid = 0 title = Видеокарты links = /goods/catalog/cat/a111/
id = 19 subid = 18 title = AGP 16 links = /goods/catalog/cat/a111/a11100/
id = 20 subid = 18 title = PCI-E 535 links = /goods/catalog/cat/a111/a11105/
id = 21 subid = 18 title = TV-Tuner 38 links = /goods/catalog/cat/a111/a11104/
id = 22 subid = 18 title = Другое 2 links = /goods/catalog/cat/a111/a11103/
id = 23 subid = 0 title = Жесткие Диски links = /goods/catalog/cat/a107/
id = 24 subid = 23 title = 2 links = 5 40
id = 25 subid = 23 title = IDE 8 links = /goods/catalog/cat/a107/a10700/
id = 26 subid = 23 title = SAS/FC 24 links = /goods/catalog/cat/a107/a10707/



То есть если внимательно примотреться то получается такое правило: если ид=4 и последующие субид =4 то получается что: строкас ид=4 то бишь "Аксесуары" будет категорией, а где субид=4 это будут товары в этой категории.



Так вот я пишу такой парсер, вопрос: каким образом обходя массив, перед записью в другую БД указать это правило. То есь из прмера видно что: ид=18 является категорией "Видеокарты" а с ид=19 по ид=22 это товары относящиеся к этой категории

  Ответить  
 
 автор: sim5   (25.01.2011 в 05:12)   письмо автору
 
   для: mabelrod   (24.01.2011 в 22:18)
 

Откуда этот массив (если он действительно массив)?

  Ответить  
 
 автор: dima4321   (25.01.2011 в 08:19)   письмо автору
 
   для: sim5   (25.01.2011 в 05:12)
 

если парсишь чужой сайт. То наверно надо сделать так.

Твой текст это строка.

Делаем из него массив с помощью preg_split . В качестве разделителя id=\s

Затем проверка тиа такой

if
id=subid c помощью строковой функции. и вывод.

  Ответить  
 
 автор: sim5   (25.01.2011 в 08:24)   письмо автору
 
   для: dima4321   (25.01.2011 в 08:19)
 

Я вообще-то не парсю ничего. )

  Ответить  
 
 автор: Valick   (25.01.2011 в 10:54)   письмо автору
 
   для: sim5   (25.01.2011 в 08:24)
 

а пора бы уже парсить в темную голову :))

  Ответить  
 
 автор: Igorek   (25.01.2011 в 11:00)   письмо автору
 
   для: mabelrod   (24.01.2011 в 22:18)
 

>перед записью в другую БД указать это правило. То есь из прмера видно что: ид=18 является категорией "Видеокарты" а с ид=19 по ид=22 это товары относящиеся к этой категории

дык "это правило" уже указано. для каждой категории указана родительская категория или 0, если это корешок. в таком же виде и пишем в другую БД

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования