Я пытался создать функцию для фильтрации значений LIKE в нескольких столбцах многомерного массива.Я попытался перебрать массив имен столбцов, чтобы создать функцию strpos, но в строковом формате.Когда я использовал eval для запуска взорванной строки кода, я получил ошибку «Неожиданный конец файла, eval d'code в строке xx».
Я не понимаю проблему.Вот функция:
public function ArrayFilterLike($array, $filter, $search){
$result = [];
foreach ($filter as $key => $value) {
$filter[$key] = "strpos(\$data['$value'], \$search) !== false";
}
$filter = implode(" || ", $filter);
foreach ($array as $data) {
if(eval($filter)){
$result[] = $data;
}
}
print_r($result);
}