使用array mutisort 实现按某字段对数据排序
分类:热门新闻

array_multisort 的用法
风姿罗曼蒂克、先看最简易的景色。有四个数组: $arr1 = array(1,9,5);
$arr2 = array(6,2,4);
array_multisort($arr1,$arr2);
print_r($arr1State of Qatar; // 得到的相继是1,5,9
print_r($arr2State of Qatar; // 获得的各样是6,4,2
自身推测八个数组的值自始至终都以对应着的:1对应6,9对应2,5对应4。

大家再增加一个数组看看会怎么着: $arr1 = array(1,9,5);
$arr2 = array(6,2,4);
$arr3 = array(3,7,8);
array_multisort($arr1,$arr2,$arr3);

查看结果,1前后都对应6对应3,别的项也是如此。这种对应关系正是手册中所谓的“排序时保留原本的键名关联”。
其它也足以把各类数组想像成数据库表的一列。而对应着的1,6,3为黄金时代数据行,9,2,7为另大器晚成数据行。。。
array_multisort会先按第三个数组(想像成列)排序,如果第一个数组(列)的值相通,则按首个数组(列)排序。

实际能够用下边的程式来测验: $arr1 = array(1,9,5,9);
$arr2 = array(6,2,4,1);
$arr3 = array(3,7,8,0);
array_multisort($arr1,$arr2,$arr3);
能够想像这里$arr3的结果是(3,8,0,7State of Qatar。

二、接下去疏解array_multisort的参数。 本条函数的参数很灵巧。最简易的情状是如上边所示的以1个或n个数组作为参数,须求小心的是种种数组的项数要平等,不然会warning引致排序失效。
像这样array_multisort($arr1,$arr2,$arr3卡塔尔(قطر‎; 默许是有所数组都以升序排列,就算想对$arr2降序,并当做字符串去相比,将在写成:
array_multisort($arr1, $arr2, SORT_DESC, SORT_STRING, $arr3);
种种array前边能够跟二个排序依次标记或三个排序类型标识,也许三种标记同有的时候候现身。可是每一个排序标记在每一种数组前面只好现身叁个。
详尽如下: 排序依次标记:

SORT_ASC - 遵照上涨顺序排序(暗中认可)
SORT_DESC - 根据下跌顺序排序

排序类型标识:  
SORT_REGULA讴歌RDX - 将项目依据普通方法比较(暗许)
SORT_NUME传祺IC - 将品种比照数值相比
SORT_ST奥迪Q5ING - 将品种比照字符串比较

事实上作用:把多少从数据库中领到出来未来大概是一个数组,借使想鲁人持竿那多少个字段来进展排列,就能够先把相当字段提抽取了来,成为独立的一个数组,然后再选用array_multisort实行排序,以抵达对原数据按某字段数据排序的指标,上边是个小例子,按战绩对儿童们排序。
复制代码 代码如下:
  $a=array(array('name'=>'张三','score'=>60),
  array('name'=>'李四','score'=>90),
  array('name'=>'王二','score'=>80)
  );
  $score=array();
  foreach($a as $k => $v){
  $score[$k]=$v['score'];
  }
  array_multisort($score,$a);
  var_dump($score);
  var_dump($a);
?>

结果我们本身运营一下啊

本文由威尼斯在线注册平台发布于热门新闻,转载请注明出处:使用array mutisort 实现按某字段对数据排序

上一篇:总是找不到从哪进来的,/e 修正符使 preg 下一篇:一个简单的php加密解密函数(动态加密)
猜你喜欢
热门排行
精彩图文