hola,  a la funcion   dada me da como resutante el siguiente arreglo (impreso con un var_dump).
Aclaracion, $datos_legajo (pasado por referencia es un archivo.csv) con lo siguiente:
 
15;Juan, Perez
24;Martin, Romero
 
lo tengo que separar para asignarlo a el arreglo de alumnos_cargados, con el explode lo resuelvo lo que busco... aqui el problema; como ven el arreglo impreso, existen unos salto de linea (marcados en rojo) los cuales me dificultan una futura tarea. 
mi pregunta es la siguiente como los omito o que estoy haciendo mal!
 
 
Function Carga_lejajos_y_nombres ($datos_legajo) {
 
$alumnos_cargados = array ();
 
    While (!feof ($datos_legajo)) {
 
        $renglon = fgets ($datos_legajo);
        $datos = explode (';', $renglon);
        $alumnos_cargados [$datos[0]] [Nombre] = $datos[1];
   }
}
 
RESULTADO:
 
array(4) {
  [15]=>
  array(2) {
    ["Nombre"]=>
 string(14) "Juan Gonzales
"
    ["Materias"]=>
    array(2) {
   ["Analisis Matematico"]=>
      string(2) "4
"
      ["Algebra"]=>
 string(2) "6
" 
   
 



