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]   

> Без описания
Kubert
Отправлено: 17 Апреля, 2013 - 19:35:53
Post Id



Частый гость


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


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




К примеру у меня есть такое:
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [124] => Array
  3.         (
  4.             [0] => 86
  5.             [1] => 87
  6.             [2] => 89
  7.         )
  8.  
  9.     [125] => Array
  10.         (
  11.             [0] => 86
  12.             [2] => 89
  13.         )
  14.  
  15.     [126] => Array
  16.         (
  17.             [0] => 86
  18.             [1] => 87
  19.             [2] => 89
  20.         )
  21.  
  22. )


Как мне вычислить массив пересечений? Что бы на выходе было:
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [124] => Array
  3.         (
  4.             [0] => 86
  5.             [2] => 89
  6.         )
  7.  
  8.     [125] => Array
  9.         (
  10.             [0] => 86
  11.             [2] => 89
  12.         )
  13.  
  14.     [126] => Array
  15.         (
  16.             [0] => 86
  17.             [2] => 89
  18.         )
  19.  
  20. )


ну или

CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.             [0] => 86
  3.             [2] => 89
  4. )

(Отредактировано автором: 17 Апреля, 2013 - 19:36:55)

 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2013 - 19:36:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Kubert
Отправлено: 17 Апреля, 2013 - 19:38:17
Post Id



Частый гость


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


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




EuGen пишет:


К сожалению не подходит, так как ключи динамические. я про 124, 125, 126
(Добавление)
Kubert пишет:
EuGen пишет:


К сожалению не подходит, так как ключи динамические. я про 124, 125, 126


Или можно как то хитро их подставить в эту функцию?)
 
 Top
EuGen Администратор
Отправлено: 17 Апреля, 2013 - 19:43:27
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Kubert пишет:
так как ключи динамические

Почему же? Всё, что вам требуется - это знать, что именно Вы будете пересекать. Если это некоторый набор ключей, то его требуется знать заранее. Если это просто "всё в массиве" - то можно просто вызывать функцию с переменным числом аргументов:
PHP:
скопировать код в буфер обмена
  1. $rgData=array(
  2. array('89','88','86'),
  3. array('88','89','84'),
  4. array('82','88','85')
  5. );
  6. $rgResult=call_user_func_array('array_intersect', $rgData);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Kubert
Отправлено: 17 Апреля, 2013 - 19:46:19
Post Id



Частый гость


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


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




Спасибо! То что нужно)
Радость
 
 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