У меня возникла проблема при поиске определенного ключевого слова в массиве. Я использую Laravel.array_search() выдает ошибку при втором параметре
Я пытаюсь найти конкретные должности, у которых есть определенное ключевое слово, точно так же, как функция твиттера.
При посещении www.foobar.com/shoutouts/$hashtag следующей функции выполняется:
public function shoutoutSpecific($hashtag) {
$hashtag = '#' . $hashtag;
$shoutouts = Shoutout::orderBy('created_at', 'DESC')->get();
foreach($shoutouts as $shoutout) {
if (array_search($hashtag, $shoutout->hashtag) !== false) {
$shoutouts2 = $shoutouts2 . $shoutout;
}
}
return view('shoutout', compact('shoutouts2'));
}
Таблица базы данных для shoutout-> хэштегом содержит пример следующие
a:1:{i:0;s:5:"#test";}
Итак, когда посещая www.foobar.com/shoutouts/test, функция должна найти конкретные крики с хэштегом в виде #test и тем самым передать их в массив, который может быть зациклирован в представлении.
Однако, когда я посещаю www.foobar.com/shoutouts/test, я получаю
array_search() expects parameter 2 to be array, string given
и я не получаю это, потому что второй параметр является массивом в базе данных.
Вся помощь приветствуется.
Это говорит вам, что это неправильно. Вы передали строку. 'array_search()' ищет значения массива для заданной строки. – Jaime