El error lo daba antes de añadir esa linea, que es como estaba en el post inicial. 
La puse a modo de declaracion de array para que no me diga que no existe ese indice:  
 Código PHP:
    $campos = array("campo 0","Campo 1","Campo 2","Campo 3","Campo 4"); 
    
  Si la quito sigue dando error. 
Ademas, como es posible que cambiar el valor a un array pueda dar error? Entonces no pueden ser variables los arrays? O es que la declaracion del array es de otro tipo que el que relleno con el explode? 
No es lo mismo que con la declaracion del array $datos? Ahi tambien le daba un valor inicial y luego se lo cambiaba. Y por supuesto, si quito esa linea sigue dando el mismo error. 
El codigo inicial es:    
Código PHP:
Ver original- function get_usuario($campo) { 
-   
-         $ruta = 'file/archivo.php'; 
-         $lineas = explode('||', $contenido); 
-   
-         foreach ($lineas as $cada_linea) { 
-               $campos = explode('|', $cada_linea); 
-               // Si coincide uno de los cuatro campos cargamos el array en $datos 
-               if($campo == $campos[1] || $campo == $campos[2] 
-               || $campo == $campos[3] || $campo == $campos[4]) 
-               { 
-                   $datos['id']=$campos[0]; 
-                   $datos['nombre']=$campos[1]; $datos['fecha']=$campos[2]; 
-                   $datos['correo']=$campos[3]; $datos['pass']=$campos[4]; 
-   
-                   break; 
-               } 
-           } 
-   
-           return $datos; 
-   
- } 
Las dos declaraciones de arrays las puse a modo de prueba, intentando forzar que exista el indice. 
Los errores son: 
 Cita:  Notice: Undefined offset: 1 in C:\blabla\blabla.php on line 10
 
Notice: Undefined offset: 1 in C:\blabla\blabla.php on line 14
 
Notice: Undefined offset: 2 in C:\blabla\blabla.php on line 14
 
Notice: Undefined offset: 3 in C:\blabla\blabla.php on line 15
 
Notice: Undefined offset: 4 in C:\blabla\blabla.php on line 15