2017-01-04 2 views
0

J'ai donc une gamme d'articles d'enfants avec leurs propres pourcentages sur 100, et un élément parent qui est la somme de tous ces pourcentages sur 100:Trouvez le pourcentage d'une somme des pourcentages PHP

$parentItem['percent'] = sumOfAllChildren % 
$childItem1['percent'] = 50 
$childItem2['percent'] = 60 
$childItem3['percent'] = 100 
$childItem4['percent'] = 15 

Comment puis-je calculer la somme pour l'élément parent dans ce cas en utilisant PHP?

+2

Ceci est plus une question mathématique qu'une question de programmation. http://math.stackexchange.com/ convient le mieux à votre demande. –

+1

J'ai quelques questions. Tout d'abord: Êtes-vous sûr de vouloir avoir la somme de ces pourcentages? Vous êtes sûr que vous n'entendiez pas le pourcentage moyen? Si tu veux dire la somme, calcule simplement 50 + 60 + 100 + 15 ce qui te donnerait 225 ce qui ne fait pas vraiment l'envoyer je pense. Au fait, montrez nous votre code ce que vous avez essayé jusqu'ici :) – Twinfriends

+0

* somme de tous ces pourcentages sur 100 *? 225 entraînerait plus de 100%. Je ne suis pas sûr de ce que vous demandez. –

Répondre

0

espère qu'il est utile

$childItem1['percent'] = 50; 
$childItem2['percent'] = 60 ; 
$childItem3['percent'] = 100 ; 
$childItem4['percent'] = 15 ; 

$total=0; 

$total+=$childItem1['percent']; 
$total+=$childItem2['percent']; 
$total+=$childItem3['percent']; 
$total+=$childItem4['percent']; 

$percent=(100/400) * $total; 

$parentItem['percent'] = $percent. "%"; 

Merci ..

0

Vous pouvez toujours utiliser la fonction array_sum en refactorisant légèrement votre code.

$children = [50,60,100,15]; 
$parent = array_sum($children); // would give you 225 

// add a child 
$children[] = 100; 
$parent = array_sum($children); // would give you 325 

Voir http://php.net/manual/en/function.array-sum.php pour plus d'informations.

1

Calculons comme ceci:

$children = [$childItem1, $childItem2, $childItem3, $childItem4]; 
$childPers = array_column($children, 'percent'); 
$parentItem['percent'] = array_sum($childPers)/(100 * count($childPers));