带状动态过滤
stripos dynamic filtering
我正在尝试使用下面的代码来过滤 json 数据,如果我给过滤器
它会完美地工作
$search_text = '53';
$filter_name ='title';
$expected88 = array_filter($array, function($el) use ($search_text) {
return ( stripos($el['title'], $search_text) !== false );
// return ( stripos($el[$filter_name], $search_text) !== false );
});
echo json_encode($expected88,true);
你可以看到,如果我在 stripos 中给出这个 $el['title']
它有效,但如果我尝试通过 $el[$filter_name]
它不起作用我尝试了其他几种组合,如 $el["$filter_name"]
$el['.$filter_name.']
但没有任何效果。作为它的动态数据,我想传递变量
$filter_name
在匿名函数中不可用,所以你需要use
它,和$search_text
:
一样
$expected88 = array_filter($array, function($el) use ($search_text, $filter_name) {
return ( stripos($el[$filter_name], $search_text) !== false );
});
我正在尝试使用下面的代码来过滤 json 数据,如果我给过滤器
它会完美地工作$search_text = '53';
$filter_name ='title';
$expected88 = array_filter($array, function($el) use ($search_text) {
return ( stripos($el['title'], $search_text) !== false );
// return ( stripos($el[$filter_name], $search_text) !== false );
});
echo json_encode($expected88,true);
你可以看到,如果我在 stripos 中给出这个 $el['title']
它有效,但如果我尝试通过 $el[$filter_name]
它不起作用我尝试了其他几种组合,如 $el["$filter_name"]
$el['.$filter_name.']
但没有任何效果。作为它的动态数据,我想传递变量
$filter_name
在匿名函数中不可用,所以你需要use
它,和$search_text
:
$expected88 = array_filter($array, function($el) use ($search_text, $filter_name) {
return ( stripos($el[$filter_name], $search_text) !== false );
});