2 Stimmen

Bequeme Methode, um ein Array von Prozentwerten aus einem anderen Array zu erstellen

Ich würde gerne Folgendes serverseitig in PHP ausführen...

Wenn ich ein Array wie dieses habe: $array1 = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), kann ich ein anderes Array erstellen, das den Prozentsatz jedes Werts enthält (jeder Wert geteilt durch die Gesamtsumme)? Gibt es eine Möglichkeit, dies ohne brute force mit einer for-Schleife zu tun? Ich möchte im Wesentlichen array2 erstellen

sum_array($array1) ergibt 55 (1+2+3+4+5+6+7+8+9+10 = 55)

$array2 = array(1.8%, 3.6%, 5.4%, 7.2%, 9%, 10.9%, 12.7%, 15.5%, 16.3%, 18.2%)

Vielen Dank im Voraus

8voto

Rocket Hazmat Punkte 213999

Sie können dafür array_map verwenden.

$array1 = array(1,2,3,4,5,6,7,8,9,10);
$total = array_sum($array1);

$array2 = array_map(function($a) use($total){
    return round(($a*100) / $total, 1) . '%';
}, $array1);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X