用于筛选多维数组中包含搜索的值的eval



我试图创建一个函数来过滤多维数组多列中的LIKE值。我试图循环遍历列名数组,以创建一个字符串格式的strpos函数。当我使用eval运行内爆的代码字符串时,我收到错误"文件意外结束,第xx行的eval d’code"。

我不明白这个问题。以下是功能:

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);
}
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("return $filter;")){
$result[] = $data;
}
}
print_r($result);
}

完成了。谢谢

最新更新