Запара с in_array. нужно разобраться!

Ребята, какая то странность с in_array. Нужно сравнить каждый введеный новый тег(их может быть и несколько) из инпута с теми, что уже в базе(веденные ранее) и если нет совпадения, то записываем в базу, получается записываем только то, чего нет в $tags:
$fields['tags'] - теги из формы
$id_user = (int)$id_user;
$allowed = array();
$tags = M_Tags_user::Instance()->getByFieldset(array('id_user' =>$id_user));
foreach($tags as $tag)
$allowed[] = $tag["tag"];
if(!empty($fields['tags']) && $tags){
$single = explode(',', $fields['tags']);
foreach($single as $fields_tag){
if(!in_array($fields_tag, $allowed)){
if($fields_tag !="")
M_Tags_user::Instance()->add_one_tag($fields_tag,$id_user);
}
}
}
так вот in_array пропускает во внутрь условия и те что уже добавлены в бд - почему, что я не так сделал?
Хотя может как то по другому надо сделать?! Помогите!
$fields['tags'] - теги из формы
$id_user = (int)$id_user;
$allowed = array();
$tags = M_Tags_user::Instance()->getByFieldset(array('id_user' =>$id_user));
foreach($tags as $tag)
$allowed[] = $tag["tag"];
if(!empty($fields['tags']) && $tags){
$single = explode(',', $fields['tags']);
foreach($single as $fields_tag){
if(!in_array($fields_tag, $allowed)){
if($fields_tag !="")
M_Tags_user::Instance()->add_one_tag($fields_tag,$id_user);
}
}
}
так вот in_array пропускает во внутрь условия и те что уже добавлены в бд - почему, что я не так сделал?
Хотя может как то по другому надо сделать?! Помогите!
10 июля 2015 в 11:55
Ближайшие курсы

Интенсив "C# для начинающих"
Конструкции языка на примере разработки небольшой игры
23
февраля

Java для чайников: интенсив "Основы программирования Java"
Первое знакомство с языком Java
23
февраля

Интенсив «Основы веб-дизайна»
Создание Landing page
23
февраля
Новые статьи

Идеальный код на Python
57805

А/В-тестирование лендингов
41225

13 способов, как программисту отпугнуть работодателя
26561212