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 :: Сравнить и вывести массив

 PHP.SU

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


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

> Без описания
amf1k
Отправлено: 25 Августа, 2014 - 07:10:16
Post Id


Гость


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


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

[+]


Есть 4 массива: $films - Фильмы, $actors - Актеры, filmsActors - Фильмы в которых играет роль тот или иной актер и массив $test - это актеры, где мы запрашуем найти фильм(фильмы) с участием этих актеров!
Как через цикл foreach сравнить актеров($test) и массив ($filmsActors) вывести соответсвенную информацию? тоесть
PHP:
скопировать код в буфер обмена
  1.  
  2. //Фильмы:            
  3. $films = array(
  4. 1=>array('id'=>1, 'title'=>'Том и Джери', 'year'=>2004),
  5. 2=>array('id'=>2, 'title'=>'Кот в сапогах', 'year'=>2013),
  6. 3=>array('id'=>3, 'title'=>'Доктор Айболит', 'year'=>2012),
  7. 4=>array('id'=>4, 'title'=>'Мачо и Ботан', 'year'=>2013),
  8. 5=>array('id'=>5, 'title'=>'Универ', 'year'=>2008),
  9. );
  10. //Aктеры:
  11. $actors = array(
  12. 1=>array('id'=>1, 'name'=>'Петя'),
  13. 2=>array('id'=>2, 'name'=>'Лена'),
  14. 3=>array('id'=>3, 'name'=>'Света'),
  15. 4=>array('id'=>4, 'name'=>'Коля'),
  16. 5=>array('id'=>5, 'name'=>'Вася'),
  17. 6=>array('id'=>6, 'name'=>'Маша')
  18. );
  19. //Фильмы в которых актеры играют свою роль:
  20. $filmsActors = array(
  21. 1=>array('id'=>1, 'film'=>'Том и Джери', 'actor'=>'Вася'),
  22. 2=>array('id'=>2, 'film'=>'Том и Джери', 'actor'=>'Маша'),
  23. 3=>array('id'=>3, 'film'=>'Универ', 'actor'=>'Петя'),
  24. 4=>array('id'=>4, 'film'=>'Универ', 'actor'=>'Вася'),
  25. 5=>array('id'=>5, 'film'=>'Универ', 'actor'=>'Маша'),
  26. 6=>array('id'=>6, 'film'=>'Мачо и ботан', 'actor'=>'Коля'),
  27. 7=>array('id'=>7, 'film'=>'Мачо и ботан', 'actor'=>'Вася'),
  28. 8=>array('id'=>8, 'film'=>'Доктор Айболит', 'actor'=>'Света'),
  29. 9=>array('id'=>9, 'film'=>'Доктор Айболит', 'actor'=>'Петя'),
  30. 10=>array('id'=>10, 'film'=>'Доктор Айболит', 'actor'=>'Лена'),
  31. 11=>array('id'=>11, 'film'=>'Доктор Айболит', 'actor'=>'Коля'),
  32. 12=>array('id'=>12, 'film'=>'Кот в сапогах', 'actor'=>'Вася'),
  33. 13=>array('id'=>13, 'film'=>'Кот в сапогах', 'actor'=>'Петя'),
  34. );
  35. //Запрашуемые актеры:
  36. $users = array(
  37. 1=>array('id'=>1, 'name'=>'Вася'),
  38. 2=>array('id'=>2, 'name'=>'Петя'),
  39. );
  40.  

Вывод информации (Так как Вася и Петя играли вместе свои роли только в двох фильмах то результат):
id='2' title='Кот в сапогах' year='2013'
id='5' title='Универ' year='2008'
Помогите решить эту задачу пожалуйста!

(Отредактировано автором: 25 Августа, 2014 - 07:20:21)

 
 Top
amf1k
Отправлено: 25 Августа, 2014 - 20:02:19
Post Id


Гость


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


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

[+]


может, кто-то поможет решить вопрос???)
 
 Top
dmaw
Отправлено: 25 Августа, 2014 - 21:56:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




amf1k пишет:
1=>array('id'=>1, 'film'=>'Том и Джери', 'actor'=>'Вася'),

Вася у вас ещё в 'Том и Джери' и 'Мачо и ботан' играл.

Массивы $actors и $films вообще лишние, для работы они не нужны, потому как в массиве $filmsActors у вас уже написано кто где играл.

Циклом вам нужно пройтись по ячейкам ($filmsActors) в которых имена актеров, если имя совпадает с искомым, то показать название фильма.

(Отредактировано автором: 25 Августа, 2014 - 21:57:01)

 
 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