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. Belohalatny - 22 Октября, 2012 - 14:43:59 - перейти к сообщению
Всем привет! Вобщем то вопрос в сабже. Массивы такие:

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


Значения "2" одинаковы в обоих. Удалить нужно из нижнего. Как?
2. ingram - 22 Октября, 2012 - 15:03:36 - перейти к сообщению
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.  
3. KingStar - 22 Октября, 2012 - 17:54:58 - перейти к сообщению
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. }
4. ingram - 22 Октября, 2012 - 18:06:41 - перейти к сообщению
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]);
5. KingStar - 22 Октября, 2012 - 19:19:15 - перейти к сообщению
ну да, чет я записался )))
6. dubasua - 23 Октября, 2012 - 00:06:04 - перейти к сообщению
А можно еще проще
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.  
7. KingStar - 23 Октября, 2012 - 09:57:28 - перейти к сообщению
dubasua какой ты умный Хм ты внимательно прочел в чем проблема???

Belohalatny пишет:
Значения "2" одинаковы в обоих. Удалить нужно из нижнего. Как?
8. haveFun - 23 Октября, 2012 - 14:40:35 - перейти к сообщению
и в чем проблема поменять массивы местами?
Хм
9. armancho7777777 - 23 Октября, 2012 - 14:51:28 - перейти к сообщению
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.  
10. KingStar - 23 Октября, 2012 - 18:50:27 - перейти к сообщению
armancho7777777 что-то я затупил, видимо меня эта фраза и ввела в заблуждение, изначально думал про эту, а потом черт меня меня дернул Хм
11. dubasua - 23 Октября, 2012 - 18:55:38 - перейти к сообщению
armancho7777777 Благодарю.
12. armancho7777777 - 23 Октября, 2012 - 21:16:33 - перейти к сообщению
Не за что.

 

Powered by ExBB FM 1.0 RC1