Por alguna razon la primera vez que recorre el foreach aun no se asigna ningun valor. Imagino que le molesta la cabecera del archivo. Lo he solucionado asi:
Código PHP:
function get_usuario($campo) {
$ruta = 'file/archivo.php';
$contenido = file_get_contents($ruta);
$lineas = explode('||', $contenido);
foreach ($lineas as $cada_linea) {
$campos = explode('|', $cada_linea);
if(!isset($campos[1])){
$datos=NULL;
}
// Si coincide uno de los cuatro campos cargamos el array en $datos
else 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;
}
Si es poco ortodoxo ya me direis.