Ciao, puoi risolvere anche con una semplice espressione regolare:
codice:
$stringa = "95345456655,32505050,02060660,337484884";
echo preg_match("/(?:^|,)(3[^,]+)/", $stringa, $primo_cell) ? $primo_cell[1] : "nessun risultato";
In questo caso il pattern è piuttosto semplice:
(?:^|,)(3[^,]+)
(?:^|,) gruppo non-catturante, identifica la presenza di inizio stringa o di una virgola
(3[^,]+) primo gruppo di cattura
3 trova il carattere 3
[^,] trova qualsiasi carattere che non sia una virgola
+ quantificatore, trova da 1 a più elementi della precedente specifica
Poi, a seconda delle tue esigenze, si potrebbe impostare un pattern più complesso.
$primo_cell è sostanzialmente un array di tutte le occorrenze trovate dove $primo_cell[0] restituisce l'occorrenza trovata dall'intero pattern mentre $primo_cell[1] non è altro che l'occorrenza trovata col primo gruppo di cattura.
Nota: ho usato un operatore ternario ( ? : ) con l'echo, così che se viene trovato qualcosa (preg_match() restituisce il numero di occorrenze trovate) allora stampa appunto il primo gruppo catturato, altrimenti stampa il testo "nessun risultato".
Questa condizione è necessaria per evitare messaggi di errore qualora non venga trovato nulla e si tenti di accedere all'elemento [1] dell'array $primo_cell che però risulta vuoto. Chiaramente questo controllo può essere impostato come meglio si crede e a seconda delle proprie esigenze.