龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 具有通用性二维数组排序算法函数

时间:2014-07-19 02:11来源:网络整理 作者:网络 点击:
分享到:
具有通用性二维数组排序算法函数 [代码片段(57行)]
<?php
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序

function array_sort($arr, $keys, $order=0) {

if (!is_array($arr)) {

    return false;

}

$keysvalue = array();

foreach($arr as $key => $val) {

   $keysvalue[$key] = $val[$keys];

}

if($order == 0){

    asort($keysvalue);

}else {

    arsort($keysvalue);

}

reset($keysvalue);

foreach($keysvalue as $key => $vals) {

    $keysort[$key] = $key;

}

$new_array = array();

foreach($keysort as $key => $val) {

    $new_array[$key] = $arr[$val];

}

return $new_array;

}

//eg
$arr = array('0'=>array('a'=>2,'b'=>4,'c'=>3),
             '1'=>array('a'=>45,'b'=>3,'c'=>3),
             '2'=>array('a'=>2,'b'=>7,'c'=>3),
);
$new_array = array_sort($arr,'a',0);
print_r($new_array);
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接