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
Форумы портала PHP.SU :: Версия для печати :: сравнение данных в массиве
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » сравнение данных в массиве

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

1. nilbug - 11 Апреля, 2016 - 12:48:37 - перейти к сообщению
массив $massive содержит данные Имя и Фамилия
Array ( [0] => Иванов Иван [1] => Сидоров Константин ... [9] => Иванов Петр)
задача такая, что нужно вычеркнуть одинаковые фамилия или имена. например у [0] и [9] одинаковые фамилия, нужно вычеркнуть любой либо [0] либо [9]

если из 10 данных есть одинаковые имена и фамилия, то их можно проверить с помощью

А как можно проверить, если Фамилия или Имена одинаковые, то убрать их из списка?
Пробовал разбить [1] => Иванов Иван на два разных массива $search = ([0] => Иванов [1] => Иван) но не могу сравнить эти данные с другим массивом.
2. skiphog - 11 Апреля, 2016 - 14:25:41 - перейти к сообщению
Как вариант Улыбка
PHP:
скопировать код в буфер обмена
  1. $arr = ['Иванов Иван', 'Сидоров Константин','Иванов Петр'];
  2. $tmp = [];
  3.  
  4. $arr = array_filter($arr,function($value) use(&$tmp){
  5.   list($a,$b) = explode(' ',$value);
  6.   if(array_key_exists($a,$tmp) || array_key_exists($b,$tmp)) {
  7.     return false;
  8.   }
  9.   return $tmp[$a] = $tmp[$b] = true;
  10. });
3. armancho7777777 - 11 Апреля, 2016 - 15:14:19 - перейти к сообщению
nilbug, разве данные не в базе хранятся ?

 

Powered by ExBB FM 1.0 RC1