
Originariamente inviata da
gfr1991
Ciao e grazie della risposta!
Ti dispiacerebbe commentarlo un pochino? Trovo difficoltà nell'adattarlo...
Grazie!
Codice PHP:
$array = [[1,2,3],[2,2],[4,5,2,3],[1,4,2],[3,6,5]]; //20 max unico
//$array è un array multidimensionale con tutti gli array
//$somma un array passato per riferimento dove andranno tutti i numeri più grandi
function SommaUnicaMassima(array $array, array &$somma){
foreach($array as $arr){
//trova il valore massimo
$max = max($arr);
//se il valore non è già stato aggiunto lo aggiunge
if(!in_array($max,$somma))
$somma[] = $max;
else
//se il valore è già stato aggiunto lo toglie dall'array e prova a trovarne un altro in maniera ricorsiva
SommaUnicaMassima([array_diff($arr,[$max])],$somma);
}
}
$somma = [];
SommaUnicaMassima($array, $somma);
//alla fine con array_sum() si sommano tutti i valori di $somma
echo array_sum($somma);