Войти

Показать полную графическую версию : [решено] Cannot redeclare filt_video() в РНР


xNiSSaNx
18-06-2013, 15:35
Есть класс wall, в нем метод _list() и _list_add()

Организовато примерно так


class wall{

public function _list(){

while(true){//// в цикле выводится список
wall::_list_add(); //// к каждому элементу списка прикрепляется дополнение, тоесть выводит все элементы массива которые больше 5
}

}

public function _list_add(){

function filt_video($var)
{
return $var>5;
}

$arr=array_filter($massiv, 'filt_video');/// фильтрует массив
print_r($arr);
}

}

И так получается, что функция callback(для фильтра) находится в методе, который проганяется в массиве и функция объявляется заново, но в итоге Фатал Еррор.

Как можно использовать callback за методом? Или подскажите другие методы решения проблемы..

О, так и сразунашел ответ)))

Перенес function filt_video($var)
{
return $var>5;
} за метод, и сделал его статическим, а при ывзове его в array_filter сделал вот так

$arr=array_filter($massiv, 'wall::filt_video');




© OSzone.net 2001-2012