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]   

> Без описания
imediasun
Отправлено: 25 Августа, 2013 - 13:02:18
Post Id


Частый посетитель


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


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

[+][+][+][+][+]


Есть два массива
первый массив многомерный
Array ( [0] => Array ( [0] => DSC [1] => 0159 [2] => 1194 [3] => 459 ) [1] => Array ( [0] => DSC [1] => 0160 [2] => 1194 [3] => 239 )
и второй массив
Array ( [0] => Array ( [0] => 1194 [1] => 239) [1] => Array ( [0] =>1543 [1] => 016 )
Как из первого массива глядя на второй выбрать только ту запись значения [2] и [3] которой совпадают с двумя значениями [0] и [1] второго массива и на выходе получить такой массив Array ( [0] => DSC _0160_1194_239.jpg)
 
 Top
EuGen Администратор
Отправлено: 25 Августа, 2013 - 16:04:45
Post Id


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


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


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




Не до конца ясно, что нужно сделать. Предположу:
PHP:
скопировать код в буфер обмена
  1. $rgFirst  = [
  2.    ['DSC', '0159', '1194', '459'],
  3.    ['DSC', '0160', '1194', '239']
  4. ];
  5. $rgSecond = [
  6.    ['1194', '239'],
  7.    ['1543', '016']
  8. ];
  9. $rgResult = array_filter($rgFirst, function($rgItem) use (&$rgSecond)
  10. {
  11.    return count(array_filter($rgSecond, function($rgTemp) use (&$rgItem)
  12.    {
  13.       return $rgItem[2]==$rgTemp[0] && $rgItem[3]==$rgTemp[1];
  14.    }));
  15. });
  16. $sResult  = join('_', array_shift($rgResult)).'.jpg'; //?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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