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 :: Сравнение массива xml и массива sql result

 PHP.SU

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


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

> Без описания
technokid
Отправлено: 20 Июня, 2013 - 15:56:25
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2013  


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




Всем привет.
Вопрос в слудеющем,
у меня есть 2 массива.
1 - массив данных с xml файла

PHP:
скопировать код в буфер обмена
  1.  
  2. $xml = simplexml_load_file("test_file.xml");
  3. $resultXML = $xml->xpath('/MSG/line');
  4.  

xml выглядит примерно так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <MSG>
  4. <line code="1" name="Кипр" serverid="pol1"></line>
  5. <line code="2" name="Таиланд" serverid="pol1"></line>
  6. <line code="3" name="Турция" serverid="pol1"></line>
  7. <line code="4" name="ОАЕ" serverid="pol1"></line>
  8. <line code="5" name="Испания" serverid="pol1"></line>
  9. </MSG>
  10.  


2 - массив выборки с базы данных.
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = $db->query('SELECT * FROM table_name');
  3. $resultDb = $result->fetchAll(PDO::FETCH_ASSOC);
  4.  


Ключи в массивах только 2 сповпадают, это "code" i "name", все остальные разные
Нужно в цикле, перебрать все "code" и смотреть,
1) если есть такой код в другом массиве, смотрим совпадают ли "name",
2) если "name" совпали то делаем какое-то действие,
3) если "name" не совпали то делаем какое-то действие,
4) если нет такого "code" делаем тогда опять какое-то действия

Помоги плизззз.
 
 Top
DelphinPRO
Отправлено: 20 Июня, 2013 - 16:02:58
Post Id



Активный участник


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


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




проблема в чем? не знаете как работать в xml?
получить атрибуты - http://www.php.net/manual/ru/sim...t.attributes.php
берем нужный атрибут, сравниваем со значением в другиом массиве.

иль готовый код нужен?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DlTA
Отправлено: 20 Июня, 2013 - 16:03:25
Post Id



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


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


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




technokid пишет:
Помоги плизззз.
с чем?
 
 Top
LIME
Отправлено: 20 Июня, 2013 - 16:08:38
Post Id


Активный участник


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


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




 
 Top
technokid
Отправлено: 20 Июня, 2013 - 16:09:19
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2013  


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




Проблема с циклом. не могу написать правильный цыкл.
 
 Top
DelphinPRO
Отправлено: 20 Июня, 2013 - 16:15:02
Post Id



Активный участник


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


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




PHP:
скопировать код в буфер обмена
  1. $index = 0;
  2. foreach ($resultXML as $item) {
  3.   $attrs = $item->attribute();
  4.   if ($attrs->code == $resultDB[$index]['code']) {
  5.     // совпали коды
  6.     if ($attrs->name == $resultDB[$index]['name']) {
  7.       // совпали имена
  8.     }
  9.   }
  10.   $index++;
  11. }


Код примерный. Как-то так.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 20 Июня, 2013 - 17:03:39
Post Id


Активный участник


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


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





цыкл
иногда я думаю предложить в тему "Обновление форума. Баги и ошибки пишем здесь"
концепцию стоп-слов
чтоб меняло автоматом подобные часто употребляемые слова и подчеркивало красным
а что ....хорошая была бы фишка...думаю один этот факт добавил бы ссылочной массы))
можно и дальше пойти
например при словах "не работает" выскакивало бы модульное типа "вы уверены что описали проблему достаточно полно?"
ну при посте менее скажем 100 постов
вариант?

(Добавление)
LIME пишет:
думаю один этот факт добавил бы ссылочной массы
в том смысле что будут обсуждать этот факт и давать ссылки на форум
 
 Top
DelphinPRO
Отправлено: 20 Июня, 2013 - 18:04:52
Post Id



Активный участник


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


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




LIME пишет:
например при словах "не работает" выскакивало бы модульное типа "вы уверены что описали проблему достаточно полно?"
ну при посте менее скажем 100 постов
$) а новичкам без постов - три раза подряд, и с подтверждением через почту Голливудская улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 20 Июня, 2013 - 18:07:17
Post Id


Активный участник


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


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




DelphinPRO иди ты в тему про форум/ошибки))
имхо мысль стоящая как минимум 5сек задуматься
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB