您的位置:首页 > 编程语言 > PHP开发

php 二维数组按照某列排序

2011-01-27 16:06 495 查看
思路:

1.将某列的数据和索引放到一个数组"$temp"中

2.排列"$temp"数组

3.根据此时的索引读取原先的数组

php代码如下:

<?php
function array_sort($arr,$flag,$order)
{
foreach($arr as $key=>$value)
{
$temp[$key]= $value[$flag];
}
if($order=="ASC")
{
asort($temp);//升序排序临时组成的数组
}
if($order=="DESC")
{
asort($temp,SORT_NUMERIC);
arsort($temp,SORT_NUMERIC);//反转
}
foreach($temp as $temp_key=>$temp_value)
{
$new_arr[$temp_key]= $arr[$temp_key];//读出数据
}
return $new_arr;
}

//例子
$arr=array("冰冰"=>array("语文"=>85,"数学"=>95,"英语"=>90),"琪琪"=>array("语文"=>92,"数学"=>65,"英语"=>70),
"小王"=>array("语文"=>90,"数学"=>95,"英语"=>90));
$sort_arr=array_sort($arr,"语文","ASC");//按照语文成绩升序排序
echo "<pre>";
print_r($sort_arr);
echo "</pre>";
?>

结果:

Array
(
[冰冰] => Array
(
[语文] => 85
[数学] => 95
[英语] => 90
)

[小王] => Array
(
[语文] => 90
[数学] => 95
[英语] => 90
)

[琪琪] => Array
(
[语文] => 92
[数学] => 65
[英语] => 70
)

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐