Pues no veo el problema, puedes hacer una función que verifique cada cantidad y te devuelva el factor por el que debe multiplicarse, lo único que haría falta ahí sería tener los factores:
Código PHP:
Ver original// En el código anterior te sugerí cómo obtener el rango,
// eso quedaría dentro de una función
function obtenerFactor($cantidad) {
// Creas otro arreglo con los factores
$factores = array(2, 1.8, 1.5, 1.4, 1.3, /* *********** */);
// Aquí el código que te sugerí
// En vez de echo devuelves el factor
return $factores[$rango];
}
// Calculas el subtotal, no entendí bien cómo lo quieres,
// pero ya tienes el dato, úsalo a tu gusto ;-)
$subtotalpieza[] = $cantidad * $precio * obtenerFactor($cantidad);