Parece más bien una tarea que algo relevante, además el problema de que ante números muy separados puede haber muchas discrepancias, pero creo que es posible hacer algo así:
Código PHP:
Ver originalfor($x=0;$x<count($array);$x++)//recorremos el array if(empty($array[$x]))//si tiene un elemento vacio $array[$x]=($array[$x-1]+siguiente($array,$x+1))/2;//sumamos el anterior más el siguiente y dividimos entre 2
function siguiente($array,$pos){
while(isset($array[$pos]) and
empty($array[$pos]))//mientras haya elementos y esten vacios $pos++;
return $array[$pos];
else
return 0;
}