我有一個投票選項陣列,以及一個包含一組投票結果(投票)的陣列。使用此代碼,我在所有選項中回圈,輸出帶有投票的進度條。我需要做的是按結果對選項進行排序(最先投票),但我不明白是否以及如何從這里開始。
<? foreach ($poll["options"] as $optionKey => $option) {
$answer = $pollAnswerSet["answers"][$optionKey];
$absolutePerc = $sum == 0 ? 0 : floor($answer/$sum * 100);
?>
<div>
<div class='progress-bar' style="width:<?= $absolutePerc ?>%;"></div>
<?= "$absolutePerc%" ?>
</div>
<? } ?>
uj5u.com熱心網友回復:
沒有看到資料,看起來你只是對答案進行排序然后回圈。您可以使用答案鍵訪問該選項(如果需要)。
arsort將從高到低排序并維護鍵:
arsort($pollAnswerSet["answers"]);
<?php foreach ($pollAnswerSet["answers"] as $key => $val) {
$option = $poll["options"][$key];
$absolutePerc = $sum == 0 ? 0 : floor($val/$sum * 100);
?>
<div>
<div class='progress-bar' style="width:<?= $absolutePerc ?>%;"></div>
<?= "$absolutePerc%" ?>
</div>
<?php } ?>
由于可以禁用短標簽,因此建議僅使用普通標簽 (<?php ?>和<?= ?>) 以最大限度地提高兼容性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/314599.html
上一篇:合并排序演算法不適用于大型資料集
