Oh saggi.
Mi ripropongo sempre con lo stesso errore logico.
Devo costrutire un piccolo motore di ricerca di utenti nel mio sito e ho pensato bene di scrivere in un file qualcosa del genere:

nome_utente_1 -> Identificativo [UTENTE] pippo -> Identificativo [UTENTE] pluto -> Identificativo [UTENTE] topolino -> Identificativo [UTENTE] paperina -> Identificativo [UTENTE] torrone -> Identificativo [UTENTE] torta -> Identificativo

Quindi distinguendo ogni utente con [UTENTE] e ogni nome col proprio identificativo con -> .
Di conseguenza ho sviluppato:

Codice PHP:
<?

$utente_da_cercare 
"p";

$list "nome_utente_1 -> Identificativo [UTENTE] pippo -> Identificativo [UTENTE] pluto -> Identificativo [UTENTE] topolino -> Identificativo [UTENTE] paperina -> Identificativo [UTENTE] torrone -> Identificativo [UTENTE] torta -> Identificativo";

$utenti_trovati = array();

$bla explode(" [UTENTE] ",$list);

$mul 0;
    while (
$mul <= count($bla)) {
        
        
$bla_1 explode("->",$bla[$mul]);
        
        if (
strstr ($bla_1[$mul], $utente_da_cercare)){
         
         
$utenti_trovati[] = $bla_1[$mul];
         
        }
        
        
$mul++;
    }
    
print_r($utenti_trovati);

?>
Il codice dovrebbe restituirmi: pippo e pluto, perchè entrambe comprendono la lettere P .
Spesso si risolve tutto con una semplice espressione regolare, ma ditemi qui dov'è l'errore e perchè non funge.



P.S. Ovviamente quel che mi serve non è solo il nome ma anche l'identificativo che varia per ogni utente.