background image

像这样

array_multisort

(

$arr1

,

$arr2

,

$arr3

); 默认是所有数组都是升序排列,如果想对

$arr2

序,并当作字符串去比较,就要写成:

array_multisort

(

$arr1

$arr2

, SORT_DESC, SORT_STRING, 

$arr3

);

每个

array

后面可以跟一个排序顺序标志或一个排序类型标志,或者两种标志同时出现。

但是每种排序标志在每个数组后面只能出现一个。
详细如下:
排序顺序标志:
 
SORT_ASC - 按照上升顺序排序(默认)
SORT_DESC - 按照下降顺序排序
 
排序类型标志:
 
SORT_REGULAR - 将项目按照通常方法比较(默认)
SORT_NUMERIC - 将项目按照数值比较
SORT_STRING - 将项目按照字符串比较
 
实际作用:把数据从数据库中提取出来之后可能是一个数组,如果想按照那个字段来进
行排列,就可以先把那个字段提取出了来,成为单独的一个数组,然后再使用

array_multisort

进行排序,以达到对原数据按某字段数据排序的目的,下面是个小例子,

按成绩对小朋友们排序。

 

复制代码 代码如下:
 
<?php
  

$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

);

?>
 
结果大家自己运行一下吧