数组排序问题急!

vv452 2010-11-16 10:00:26
我有个二维数组:

$a = array(
[0] = {
`name`=> 'ZhangSan',
`score`=> 90
}
[1] = {
`name`=> 'CangFan',
`score`=> 70
}
[2] = {
`name`=> 'GngPan',
`score`=> 80
}
[3] = {
`name`=> 'LiGang',
`score`=> 60
}
)

按score从小到大 将这个数组重新排一下。 例如变成:

$a = array(
[0] = {
`name`=> 'LiGang',
`score`=> 60
}
[1] = {
`name`=> 'CangFan',
`score`=> 70
}
[2] = {
`name`=> 'GngPan',
`score`=> 80
}
[3] = {
`name`=> 'ZhangSan',
`score`=> 90
}

)
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LKK 2010-11-20
  • 打赏
  • 举报
回复
学习。。
xiaosaner3 2010-11-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 baiyuxiong 的回复:]
顶,uasort可以自定义比较函数
[/Quote]

+
myctong 2010-11-16
  • 打赏
  • 举报
回复
学习了..都是强手
  • 打赏
  • 举报
回复
function cmp ($a, $b) {
if ($a['score'] == $b['score']) return 0;
return ($a['score'] < $b['score']) ? -1 : 1;
}
$a = array(
array("name"=> 'ZhangSan',"score"=> 90),
array("name"=> 'CangFan',"score"=> 70),
array("name"=> 'GngPan',"score"=> 80),
array("name"=> 'LiGang',"score"=> 60)
);

usort ($a, "cmp");
print_r($a);die;

这样??
沪php攻城师 2010-11-16
  • 打赏
  • 举报
回复

$a = array(
0 => array(
"name"=> 'ZhangSan',
"score"=> 90
),
1 => array(
"name"=> 'CangFan',
"score"=> 70
),
2 => array(
"name"=> 'GngPan',
"score"=> 80
),
3 => array(
"name"=> 'LiGang',
"score"=> 60
)
);
function mysort($i,$j)
{
if($i["score"] == $j["score"])
{
return 0;
}
return ($i["score"] > $j["score"]) ? 1 : -1;

}
uasort($a,"mysort");
echo "<pre>";
print_r($a);
echo "</pre>";
igaojie 2010-11-16
  • 打赏
  • 举报
回复
跟这个帖子是一样的···

http://topic.csdn.net/u/20101111/20/abafd88d-e6bb-449a-9b10-685f728f49ad.html
igaojie 2010-11-16
  • 打赏
  • 举报
回复
uasrot
codeyell-com 2010-11-16
  • 打赏
  • 举报
回复
顶,uasort可以自定义比较函数

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧