Я бы даже порекомендовал использовать команду file:
array file ( string $filename [, int $flags = 0 [, resource $context ]] )
Считывает файл с каждой строкой как элемент массива. Оттуда вы будете перебирать каждую строку (вы упоминали, что возвращали строки в файле, которые совпадают, поэтому я рекомендую file (...)):
if (($fileLines = file('home.txt')) !== false)
{
foreach ($fileLines as $line)
{
if (strpos($line, $searchVal) !== false)
{ // match found
echo '<tr><td>'.str_replace(',','</td><td>',trim($line)).'</td></tr>';
}
}
}
Нет смысла взрывать массив, просто чтобы снова присоединиться к нему. Вы также можете взорвать его и затем взорвать () с помощью
.
Кроме того, похоже, что в вашем файле есть строки CSV. Если это так, вы можете перебрать каждую строку, а затем разбить (...) элементы и выполнить in_array (...) (или перебрать strpos для частичных совпадений снова) в разнесенной переменной. e.g.:
$values = explode(',',$line);
// array search (while entries)
if (in_array($searchVal,$values)) { ... }
// array search with partial matches
foreach ($values as $val) {
if (strpos($val,$searchVal) !== false) { ... }
}