这是一种情况:
race 1 = 7
race 2 = 3
race 3 = 1
race 4 = 2
race 5 = 6
race 6 = 2
race 7 = 7
race 8 = 3
数字越小越好,因为这些是比赛位置。必须添加第1号种族,无论其数量级如何,必须添加到任何其他根据优点选择的其他种族。所以基本上我想用PHP来加入8个中最好的6个,而6个必须包含1个,不管它是否是最好的
我认为通过将数字从最低到最高排序并添加前6来对数字进行排序。问题是如果第1场比赛不是最好的6,那么这是行不通的。
任何帮助都将受到赞赏,我仍在思考,所以我无法提供任何有关我所尝试的内容,因为一切仍然处于思想层面!
答案 0 :(得分:1)
<?php
$race = array( 1 =>7, 2 => 3 );//etc
$sum = $race[1];
unset( $race[1] );
sort( $race, SORT_NUMERIC );
for( $i = 0; $i < 5; $i++ )$sum += array_pop( $race );
答案 1 :(得分:0)
<?php
/* if manually creating the array */
$race1 = 7;
$races = array("race2" => 3, "race3" => 1, "race4" => 2); //...
/* if the array is created programmatically (preferred */
$race1 = $races[0];
$races = array_pop($races); //drops first element and resets the index
/* then.... */
asort($races);
$total = $race1;
for($i=0; $i<6; $i++)
{
$total += $races[$i];
}
?>