Фильтровать данные из сессии в laravel - PullRequest
0 голосов
/ 10 марта 2020

Мое требование - отфильтровать данные из массива сеансов с помощью ключевого слова поиска.

return $excelData->filter(function ($value, $key) use ($request) {
    return substr($value['3'], 0, strlen($request['key'])) === strtoupper($request['key']);
});

Это нормально работает, когда я ищу букву или цифру. Но моя проблема в том, что это только поиск по начальной букве данных Мое требование, если я ищу слово, получаю результат, который есть в любом месте ключа поиска.

1 Ответ

1 голос
/ 10 марта 2020

Используйте stristr, чтобы найти первое вхождение строки (без учета регистра).

return $excelData->filter(function ($value, $key) use ($request) {     
    return stristr ($value['3'] , strtoupper($request['key'])) ;
});

или если вы хотите вернуть целое значение:

return $excelData->filter(function ($value, $key) use ($request) {     
    if(stristr ($value['3'] , strtoupper($request['key'])) !== false){
      return $value;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...