Подскажите почему сей код
$check_arr = Array('action,adventure,triller,scifiction','action,drama,adventure','action,adventure,triller,scifiction');
$new_arr = Array();
foreach($check_arr as $val){
$genres = explode(',', $val);
foreach($genres as $ganre)
if(!array_search($ganre, $new_arr))
$new_arr[] = $ganre;
}
echo '<pre>';
print_r($new_arr);
echo '</pre>';
выводит
я же ясно говорю if(!array_search($ganre, $new_arr))
так почему же "action" попадает в новый массив?
Спустя 5 минут, 9 секунд (22.03.2012 - 18:39) Visman написал(а):
if(!array_search($ganre, $new_arr))
-->
if(!in_array($ganre, $new_arr))
Спустя 6 минут, 55 секунд (22.03.2012 - 18:46) kuzroman написал(а):
Цитата (Visman @ 22.03.2012 - 15:39) |
if(!array_search($ganre, $new_arr)) -->
if(!in_array($ganre, $new_arr)) |
Да так правильней.
Спасибо!
Но если кто знает причину почему функция array_search() возвращала true тоже отпишитесь.
Спустя 3 минуты, 41 секунда (22.03.2012 - 18:50) Visman написал(а):
if(array_search($ganre, $new_arr) === false)
Спустя 7 минут, 42 секунды (22.03.2012 - 18:57) kuzroman написал(а):
Цитата (Visman @ 22.03.2012 - 15:50) |
if(array_search($ganre, $new_arr) === false) |
Понятно. Спасибо.
_____________
kuzroman@list.ru