Не работает in_array в php. Что делаю не так?

Есть код, но почему-то не работает функция in_array. Мне кажется что ничего не упустил (значит что-то точно упустил), но не могу понять что именно. Вот сам код:

$search = $_POST[search];
$filename = "users.txt";
$file = fopen($filename, "r");
$pre_list = fread($file, filesize($filename));
$list = explode("||" ,$pre_list);
foreach($list as $sid=>$value);
if (in_array("$search",$value) == 1)
     echo "Найдено совпадение с $search";
else echo "Совпадений с $search не найдено";

fclose($file);

Ответы (2 шт):

Автор решения: Доярочник

Код не работает потому, что после foreach запятая)

foreach($list as $sid=>$value);

А должны быть фигурные скобки

foreach($list as $sid=>$value)
{
if (in_array("$search",$value) == 1)
     echo "Найдено совпадение с $search";
else echo "Совпадений с $search не найдено";
}
→ Ссылка
Автор решения: Андрей Левченко

Нашёл решение! Убрал foreach, в нём не было необходимости вообще! Проблема была в том, что в файл данные записывались с пробелом после "||", а искались без пробела. Вот работающий код:

$filename = "users.txt";
  $file = fopen($filename, "r");
  $pre_list = fread($file, filesize($filename));
  $list = explode("||" ,$pre_list);
  //foreach($list as $sid=>$value);
if (in_array($search,$list) == true)
         {echo "Найдено совпадение с $search<br>";}
else {echo "Совпадений с $search не найдено<br>";}
fclose($file); 
→ Ссылка