php 多个数组排序

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:06:07
$sql_e="SELECT top $top_shuzi $ziduan from $biao $where_sousuo";
$query_e= mssql_query($sql_e);

while($rs=mssql_fetch_array($query_e))//把数据读入数组
{

$ppp=array("mingzi"=>$rs[mingzi],"baifenbi"=>baifenbi($sousuo,$rs[mingzi]));
上面这句是把数据库里的字段,和我自己设置的一个百分比的字段都写入一个数组里.
baifenbi($sousuo,$rs[mingzi])这是我自己写的百分比计算函数
这里汉族要的问题,就是怎样让这个数据库的字段按照我写的那个百分比的函数大小排序
这里由于是while循环 所以显示出来的数组是这样的:是三个数组
Array ( [mingzi] => 廖辉 [baifenbi] => 100 )
Array ( [mingzi] => 阿飞廖辉爱的色放 [baifenbi] => 25 )
Array ( [mingzi] => 廖辉啊打发 [baifenbi] => 40 )
我数据库里又三行数据,这里就是怎么样让这三个数组按数组里面的百分比由大到小排序

是三个数组排序啊,不是数组里面的数值排序

}

<?php
$data[] = array('mingzi' => '张三', 'baifenbi' => 100 );
$data[] = array('mingzi' => '李四', 'baifenbi' => 25);
$data[] = array('mingzi' => '郑五', 'baifenbi' => 40);
//排序前
echo "<xmp>";
print_r($data);
echo "</xmp>";

//要求,把 baifenbi 升序排列。

//现在有了包含有行的数组 $data,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。

// 取得列的列表
foreach ($data as $key => $row) {
$baifenbi[$key] = $row['baifenbi'];
}

// 根据 baifenbi 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($baifenbi,SORT_ASC, $data);
//排序后
echo "<xmp>";
print_r($data);
echo "</xmp>";
?>
希望对你有用。