a parte che usare split è deprecato, ma poi perché non usi la funzione fgetcsv che fa già quello che devi fare?
Un esempio qua sotto
Codice PHP:
<?php
// il file da cui prendere i dati
$csv = "test.csv";
// termine da cercare
$term = "trovami";
// imposto il separatore
$sep = ";";
$mark = 1; // per la segnalazione di uscita
$iteraction = 1; // per sapere a che riga ho l'occorrenza
// apro il file e lo scorro
if (($handle = fopen($csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $sep)) !== FALSE) {
// conto il numero di campi
$num = count($data);
// una stringa per preparare l'output a video
$output = "";
// controllo se c'è il termine
if (in_array($term, $data)) {
// preparo la stringa di output
for ($i = 0; $i<$num; $i++) {
$output .= $data[$i] . " - ";
}
// mostro a video
echo "alla riga $iteraction ho trovato '$term': ";
echo substr($output,0,-3). "
";
// setto la variabile per segnalare un successo nella ricerca
$mark = 0;
}
// incremento il numero di riga
$iteraction++;
}
}
// se non ha trovato nulla mostro il messaggio di uscita
if ($mark != 0 ) {
echo "nessuna occorrenza di $term
";
}
?>
il file test.csv
codice:
a;b;c
d;f;g
c;f;a
trovami;a;c
a;s;d
sono;qui;trovami
ciao