С array_filter и foreach ошибка

У меня есть 2 массива как

 $check_string = array("www.salmat.", "www.webcentral.", "abpages.");

и

$files = array("http_www.salmat.com.au_.png", "http_www.webcentral.com.au_.png");

И теперь я хочу проверить, соответствует ли значение каждого элемента в массиве $check_string matches хотя бы части строки каждого элемента массива $files, и если оно не совпадает, то я буду повторять соответствующие значения $check_string.

Так что я делаю с функцией array_filter

foreach ($check_string as $final_check) 
{
    function my_search($haystack) 
    {
        global $final_check;
        $needle = $final_check;
        return(strpos($haystack, $needle));
    }
    $matches[] = array_filter($files, 'my_search');
    if(empty($matches))
    {
       echo $final_check;
       echo "</br>";
    }
}

Но с этим кодом я получаю сообщение об ошибке

Fatal error:  Cannot redeclare my_search() (previously declared in same file)

Может ли кто-нибудь предложить какое-либо решение

я рассмотрел это и это, но не может пройти через решение. Спасибо.


person Penny    schedule 20.01.2015    source источник


Ответы (1)


person    schedule
comment
Как передать значение $final_check? - person Penny; 20.01.2015