Hola,
Tal como tienes tu codigo:
$val siempre vale '', porque no actualizas sus valor, no hay ningun $val=algo
$desc_uno siempre valdra al final lo mismo que el ultimo descuento de $servicios, ya que siempre pisas su valor por el ultimo.
$desc_dos siempre valdra al final lo mismo que el ultimo descuento de $productos, ya que siempre pisas su valor por el ultimo.
Ademas, consideras que siempre hay 60 elementos en los 2 arrays, no se si esto es cierto o no (depende de tu diseño).
Creo que tu codigo quedaria mejor:
Código PHP:
$desc_uno=0;
foreach($servicios as $servicio) {
$desc_uno=$desc_uno+$servicio['Descuento'];
}
$desc_dos=0;
foreach($productos as $producto) {
$desc_dos=$desc_dos+$producto['Descuento'];
}
$total=$desc_uno+$desc_dos;
Creo que seria algo asi. Lo he hecho de cabeza, asi que puede haber algun error.
La teoria es que debes usar una variable como "acumulador", es decir, donde sumas su valor anterior con el nuevo valor a acumular ($desc_uno=$desc_uno+$servicio['Descuento'];).
Suerte.