Prueba esto:
$array = Array ('Safari' => 13, 'Firefox' => 5);
$total = array_sum($array); # total sum of all elements
$onePercent = $total/100; # we want to know what value represents 1 percent
array_walk($array, create_function('&$v', '$v /= '.$onePercent.'; $v .= " %";')); # we walk through the array changing numbers to percents
var_export($array);
Si usted quiere tener su resultado en el segundo array
dejando $ array no se toca, puede utilizar array_map
en lugar de array_walk
También puede ser que desee utilizar sprintf
para establecer la precisión de los valores de coma flotante que representan ciento, porque mi código sería de salida:
array (
'Safari' => '72.2222222222 %',
'Firefox' => '27.7777777778 %',
)
no es difícil para descubrir cómo hacerlo?
yo hombre eres el PHP matriz Ninja ... !! –
@Carlos Saludos, sigan viniendo :) – alex
+1 Código muy limpio. ¡Quiero más de ese código en StackOverflow! – Tadeck