2017-01-04 65 views
0

所以我有一個範圍與自己百分比滿分100子項和父項是所有這些百分比的總和超出100:查找百分比PHP的總量的比例

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

如何在本例中使用PHP計算父項的總和?

+2

這比一個編程問題的數學問題。 http://math.stackexchange.com/最適合您的要求。 –

+1

我有一些問題。首先:你確定你想擁有這些百分比的總和嗎?你確定你不是指平均百分比?如果你的意思是總和,那麼簡單地計算50 + 60 + 100 + 15什麼會給你帶來什麼不真正的發言。順便說一句,告訴我們你的代碼到目前爲止你已經嘗試過:) – Twinfriends

+0

*所有這些百分比之和爲100 *? 225會導致超過100%。我不確定你在問什麼。 –

回答

0

希望它是有用的

$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. "%"; 

謝謝。

0

您可以通過稍微重構代碼來始終使用array_sum函數。

$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 

更多信息,請參見http://php.net/manual/en/function.array-sum.php

1

計算是這樣的:

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