Я создал вложенный набор данных для такой таблицы данных:
$alldata[$x]["person"]["display"] = $persona_text;
$alldata[$x]["person"]["sort"] = $persona_sort;
$alldata[$x]["person"]["filter"] = $persona_filter;
$alldata[$x]["tel"]["display"] = $tel;
$alldata[$x]["tel"]["sort"] = $tel;
$alldata[$x]["tel"]["filter"] = $tel;
Я хотел бы затем отфильтровать на стороне сервера без указания специального c поля «Человек».
Этот код я использую с обычным набором данных datatable:
function filterKeyword( $data, $search, $field = '' ) {
$filter = '';
if ( isset( $search['value'] ) ) {
$filter = $search['value'];
}
if ( ! empty( $filter ) ) {
if ( ! empty( $field ) ) {
if ( strpos( strtolower( $field ), 'date' ) !== false ) {
// filter by date range
$data = filterByDateRange( $data, $filter, $field );
} else {
// filter by column
$data = array_filter( $data, function ( $a ) use ( $field, $filter ) {
return (boolean) preg_match( "/$filter/i", $a[ $field ]);
} );
}
} else {
$data = array_filter( $data, function ( $a ) use ( $filter ) {
return (boolean) preg_grep( "/$filter/i", (array) $a );
} );
}
}
return $data;
}
Как я могу применить к многомерному массиву?
Спасибо