这是我的代码:
<?
$i=0;
foreach ($data as $key => $value)
{
?>
<tr>
<td><?=number_format($value[budget],0)?></td>
<td><?=number_format($value[htd],0)?></td>
<td><?=number_format($value[etc],0)?></td>
<td><?
$per=number_format(($value[htd]+$value[etc])/$value[budget],2);
echo $per;
?></td>
</tr>
<?$i++;}?>
所以,$ per是一个计算值,我想用这个数字对表格进行排序。我可以帮忙做这件事吗?
答案 0 :(得分:1)
您只能在拥有数据后使用,所以:
//add what you want first
foreach($data as $key => $value){
$data[$key]['per'] = ($value['htd'] + $value['etc']) / $value['budget'];
}
//then sort
usort($data, function($a, $b){
return $a['per'] == $b['per'] ? 0 : ($a['per'] > $b['per'] ? 1 : -1 );
});
//then display the data
foreach($data as $key => $value){
?>
<tr>
<td><? echo number_format($value['budget'],0); ?></td>
<td><? echo number_format($value['htd'],0); ?></td>
<td><? echo number_format($value['etc'],0); ?></td>
<td><? echo number_format($value['per'],2); ?></td>
</tr>
<?
}
答案 1 :(得分:-1)
在输出表之前,您需要使用的某些内容对$ data数组进行排序。查看PHP sorting functions函数。它可以帮助你。