PHP检查平局投票,赢家数量可变
我进行了一次选举,每个类别的获胜者数量不一。(一个类别可以有3名优胜者、1名优胜者、2名优胜者等) 目前我显示的结果如下:PHP检查平局投票,赢家数量可变,php,arrays,tie,Php,Arrays,Tie,我进行了一次选举,每个类别的获胜者数量不一。(一个类别可以有3名优胜者、1名优胜者、2名优胜者等) 目前我显示的结果如下: foreach($newarray as $key => $value){ echo $key . $value . “<br>”; } 我需要做的是,如果两个值基于预先确定的数字是相同的,那么它会发出一些回声。因此,如果预定的数字是1,它将显示: Barack Obama 100 tie Mitt Ro
foreach($newarray as $key => $value){
echo $key . $value . “<br>”;
}
我需要做的是,如果两个值基于预先确定的数字是相同的,那么它会发出一些回声。因此,如果预定的数字是1,它将显示:
Barack Obama 100 tie
Mitt Romney 100 tie
John Smith 94
Jane Smith 85
如果预先确定的数字是2,它将显示这一点,因为第二个和第三个值不相同:
Barack Obama 100 winner
Mitt Romney 100 winner
John Smith 94
Jane Smith 85
谢谢您的时间。$max=max($array);
$max = max($array);
$tie = count(array_keys($array,$max)) > $predeterminedNumber;
foreach($newarray as $key => $value){
echo $key . $value . ($value==$max ? ($tie ? ' tie' :' winner') : ''). '<br>';
}
$tie=count(数组_键($array,$max))>$predeterminedNumber;
foreach($newarray作为$key=>$value){
回显$key.$value.($value==$max?($tie?'tie':'winner'):“”)。
;
}
尽管如果你需要,情况会变得更复杂,但3名获胜者的分数并不一定相同:
$predefinedNumber = whatever;
arsort($array);
//first $predefinedNumber are either winners or tied.
$winners = array_slice($array,0,$predefinedNumber,true);
//the next entry determines whether we have ties
$next = array_slice($array,$predefinedNumber,1,true);
//active tie on entries with this value
$nextvalue = reset($next);
//the above 2 statements would be equivalent to (take your pick):
//$values = array_values($array);
//$nextvalue = $values[$predefinedNumber];
foreach($array as $key => $value){
echo $key.' '.$value;
if($value == $nextvalue){
echo ' tie';
} else if(isset($winners[$key])){
echo ' winner';
}
echo '<br>';
}
$predefinedNumber=无论什么;
arsort($数组);
//第一个$predefinedNumber是赢家或平手。
$winners=array\u slice($array,0,$predefinedNumber,true);
//下一项决定我们是否有联系
$next=array\u slice($array,$predefinedNumber,1,true);
//具有此值的活动绑定条目
$nextvalue=重置($next);
//上述两种说法相当于(随便选):
//$values=array\u值($array);
//$nextvalue=$values[$predefinedNumber];
foreach($key=>$value的数组){
回显$key.'.$value;
如果($value==$nextvalue){
回音“领带”;
}else if(isset($winners[$key])){
呼应“赢家”;
}
回声“
”;
}
在阵列中循环两次。首先计算获胜分数的平局数,并将其与数字进行比较。然后进行打印循环,将单词tie
或winner
添加到winners中。哈哈。接近-这是在教育领域,但不是家庭作业
$predefinedNumber = whatever;
arsort($array);
//first $predefinedNumber are either winners or tied.
$winners = array_slice($array,0,$predefinedNumber,true);
//the next entry determines whether we have ties
$next = array_slice($array,$predefinedNumber,1,true);
//active tie on entries with this value
$nextvalue = reset($next);
//the above 2 statements would be equivalent to (take your pick):
//$values = array_values($array);
//$nextvalue = $values[$predefinedNumber];
foreach($array as $key => $value){
echo $key.' '.$value;
if($value == $nextvalue){
echo ' tie';
} else if(isset($winners[$key])){
echo ' winner';
}
echo '<br>';
}