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]   

> Описание: и удалить повтор из одного
Belohalatny
Отправлено: 22 Октября, 2012 - 14:43:59
Post Id


Гость


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


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




Всем привет! Вобщем то вопрос в сабже. Массивы такие:

CODE (html):
скопировать код в буфер обмена
  1.     [0] => 1
  2.     [1] =>2
  3.     [2] => 3
  4.     [3] => 4
  5. )
  6. Array
  7. (
  8.     [0] => 2
  9. )


Значения "2" одинаковы в обоих. Удалить нужно из нижнего. Как?
 
 Top
ingram
Отправлено: 22 Октября, 2012 - 15:03:36
Post Id



Гость


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $tt[0] = 1;
  3. $tt[1] = 2;
  4. $tt[2] = 3;
  5. $tt[3] = 4;
  6.  
  7. $ak[0] = 2;
  8.  
  9. foreach($tt as $key => $val) {
  10.    foreach($ak as $key1 => $val1) {
  11.           if($val == $val1) {
  12.                  unset($ak[$key1]);
  13.           }
  14.    }
  15. }
  16.  
  17. print_r($ak);
  18.  
 
 Top
KingStar
Отправлено: 22 Октября, 2012 - 17:54:58
Post Id



Участник


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


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




PHP:
скопировать код в буфер обмена
  1. $array1 = array (1,2,3,4);
  2. $array2 = array (2);
  3. $result = array_intersect($array2, $array1);
  4.  
  5. foreach ($result as $key => $value)
  6. {
  7.         unset($array2[$key]);
  8. }

(Отредактировано автором: 22 Октября, 2012 - 19:19:34)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
ingram
Отправлено: 22 Октября, 2012 - 18:06:41
Post Id



Гость


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


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




KingStar пишет:
PHP:
скопировать код в буфер обмена
  1. $array1 = array (1,2,3,4);
  2. $array2 = array (2);
  3. $result = array_intersect($array2, $array1);
  4.  
  5. foreach ($result as $key => $value)
  6. {
  7.         unset $array2[$key];
  8. }


только unset($array2[$key]);
 
 Top
KingStar
Отправлено: 22 Октября, 2012 - 19:19:15
Post Id



Участник


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


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




ну да, чет я записался )))


-----
То что программа работает, не означает что она написана правильно!
 
 Top
dubasua
Отправлено: 23 Октября, 2012 - 00:06:04
Post Id



Посетитель


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


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




А можно еще проще
PHP:
скопировать код в буфер обмена
  1.  
  2. $first_array = array(1,2,3,4,5,6,n);
  3. $second_array = array(2,5);
  4. $first_array = array_diff($first_array,$second_array);
  5. //Из $first_array пропадает значения которые есть у $second_array
  6.  
  7.  
  8.  

(Отредактировано автором: 23 Октября, 2012 - 00:07:13)

 
 Top
KingStar
Отправлено: 23 Октября, 2012 - 09:57:28
Post Id



Участник


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


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




dubasua какой ты умный Хм ты внимательно прочел в чем проблема???

Belohalatny пишет:
Значения "2" одинаковы в обоих. Удалить нужно из нижнего. Как?


-----
То что программа работает, не означает что она написана правильно!
 
 Top
haveFun
Отправлено: 23 Октября, 2012 - 14:40:35
Post Id



Гость


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


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




и в чем проблема поменять массивы местами?
Хм
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Октября, 2012 - 14:51:28
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




KingStar пишет:
dubasua какой ты умный Хм ты внимательно прочел в чем проблема???

Belohalatny пишет:
Значения "2" одинаковы в обоих. Удалить нужно из нижнего. Как?

PHP:
скопировать код в буфер обмена
  1.  
  2. $first_array = array(1,2,3,4,5,6);
  3. $second_array = array(2,5,44);
  4. $second_array = array_diff($second_array, $first_array);
  5. print_r($second_array);
  6.  
 
 Top
KingStar
Отправлено: 23 Октября, 2012 - 18:50:27
Post Id



Участник


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


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




armancho7777777 что-то я затупил, видимо меня эта фраза и ввела в заблуждение, изначально думал про эту, а потом черт меня меня дернул Хм


-----
То что программа работает, не означает что она написана правильно!
 
 Top
dubasua
Отправлено: 23 Октября, 2012 - 18:55:38
Post Id



Посетитель


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


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




armancho7777777 Благодарю.
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Октября, 2012 - 21:16:33
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Не за что.
 
 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