[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение элементов двух массивов
web-dev
Привет! У меня такая проблема, запись достаётся из базы для редактирования, в ней есть поле tags (теги), в нём строка с тегами разделённых пробелом с запятой. После редактирования скрипт делающий UPDATE этой записи получает помимо всего прочего две переменные $new_tags (это то что ввёл пользователь) и $old_tags (старая строчка тегов из базы). Пытаюсь придумать как бы мне из всего этого получить два массива с удалёнными и новыми тегами.
Напишу пример чтоб было всем понятно:

PHP
$old_tags[]=array('PHP''CSS''MYSQL''HTML');
$new_tags[]=array('PHP''CSS''MYSQL''JAVASCRIPT');


Вот из этого хотелось бы получить два массива:
$add с элементом 'JAVASCRIPT' и $del с элементом 'HTML'



Спустя 1 час, 11 минут, 42 секунды (29.09.2009 - 16:31) glock18 написал(а):
что-то типа этого
PHP
$tags array_intersect($new_tags$old_tags);
$add $new_tags;
$del $old_tags;
$passThrough = array('del''add');
foreach (
$tags as $tag) {
  foreach (
$passThrough as $arrayName) {
    if ((
$pos array_search($tag, ${$arrayName})) !== false) {
      unset(${
$arrayName}[$pos];
    }
  }
}

echo 
'<pre>';
echo 
'Tags that are presented in both $new_tags and $old_tags';
print_r($tags);
echo 
'Tags that are added';
print_r($add);
echo 
'Tags that are removed';
print_r($del);
echo 
'</pre>';


Спустя 1 час, 34 минуты, 25 секунд (29.09.2009 - 18:06) web-dev написал(а):
Спасибо тебе большое! smile.gif


_____________
IT - это такая область, что приходится постоянно бежать вперед, чтобы оставаться на месте.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.