Hola.
 
Mira yo tengo este fichero poblaciones.txt 
que tiene: 
01001;VITORIA
01002;ARANA
01002;JUDIZMENDI
01002;LACUA
01002;VITORIA
01003;ARAMBIZCARRA
01003;ARANZABELA
01003;SANTA LUCIA 
el ; es el separador.  
 Código PHP:
    function recargar()
{
    $fp = fopen ( "poblaciones.txt" , "r" ); 
 
    $almacen = Array();
    $x = 0;
    $tmp_num = 0;
    while (( $data = fgetcsv ( $fp , 1000 , ";" )) !== FALSE ) { // Mientras hay líneas que leer... 
 
    $i = 0; //declaro a 0 porque quiero sacar solo los numeros..    foreach($data as $row)
    {
 
    $tmp = $row;
 
 
 
    
    // Muestra todos los campos de la fila actual 
 
    if ($i==0)//este seria los numeros, si fuera 1, seria las palabras
    {
        $almacen[$x] = $tmp;//almaceno los numeros..
        $x = $x+1;
    }
 
    
 
    $i = $i+1 ; //incremento para no cargar las palabras....
 
    } 
 
    //echo "<br><br>";
 
    } 
    fclose ( $fp ); 
 
    //echo "<br><br><br>";
    //print_r($almacen);
 
return($almacen);
 
} 
    
  ahora si en vez de cargar los datos, le das una condicion de busqueda.. ya lo tienes.... 
Si lo que quieres es ir caracter a caracter... en vez de ";" le pones "". 
Un saludo