Esto lo tendrás en una bbdd luego es mucho mas facil hacerlo en la consulta que crea el array.
esto te da los datos tal y como los necesitas.
En php tambien se puede hacer pero es mucho mas complicado, deberias ordenar el array por nombre, y luego sumar mientras el nombre sea el mismo y buscar el maximo:
Una función para ordenar el array
array_orderby http://www.php.net/manual/en/functio...ort.php#100534
Código PHP:
Ver original$arrayOrdenado=array_orderby($array2,'nombre', SORT_ASC);
$nombre=$arrayOrdenado[0]["nombre"];
$sumaPrecio=0;
$maximo=0;
for($p=0;$p<count($arrayOrdenado);$p++){ if($arrayOrdenado[$p]["nombre"]!=$nombre){
$arrayResumen[]["nombre"]=$nombre;
$arrayResumen[]["sumaPrecio"]=$sumaPrecio;
$arrayResumen[]["maximo"]=$maximo;
$nombre=$arrayOrdenado[$p]["nombre"];
$sumaPrecio=0;
$maximo=0;
}
$sumaPrecio=$sumaPrecio+$arrayOrdenado[$p]["precio"];
if($arrayOrdenado[$p]["maximo"]>$maximo)
$maximo=$arrayOrdenado[$p]["maximo"];
}
for($i=0;$i<count($arrayResumen);$i++){
echo $arrayResumen[$i]['nombre']
echo $arrayResumen[$i]['sumaPrecio']
echo $arrayResumen[$i]['maximo']
}
Lo he hecho al vuelo, puede contener errores.