стрипос динам c фильтрация - PullRequest
1 голос
/ 14 марта 2020

Я пытаюсь использовать приведенный ниже код для фильтрации 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);

, вы можете видеть, что если я даю это $el['title'] в полосах, это работает, но если я пытаюсь передать $el[$filter_name], это не работает, я пробовал несколько других комбинаций, таких как $el["$filter_name"] $el['.$filter_name.'], но ничего не работает. как его данные c я хочу передать переменную

1 Ответ

2 голосов
/ 14 марта 2020

$filter_name недоступен в анонимной функции, поэтому вам нужно use, как и в случае с $search_text:

$expected88 = array_filter($array, function($el) use ($search_text, $filter_name) {
   return ( stripos($el[$filter_name], $search_text) !== false );
});
...