php array_multisort 对数组进行排序详解及实例代码

2019-05-02 17:46:58于海丽

SORT_STRING - 将每一项按字母顺序排列。

实例一:

排序多维数组

<?php
 $ar = array(
    array("10",11,100,100,"a"),
    array(1,2,"2",3,1)
   );
 array_multisort($ar[0], SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC);
 var_dump($ar);
?> 

本例中在排序后,第一个数组将变成 "10",100,100,11,"a"(被当作字符串以升序排列)。第二个数组将包含 1, 3, "2", 2, 1(被当作数字以降序排列)。

运行结果:

array(2) {
 [0]=> array(5) {
  [0]=> string(2) "10"
  [1]=> int(100)
  [2]=> int(100)
  [3]=> int(11)
  [4]=> string(1) "a"
 }
 [1]=> array(5) {
  [0]=> int(1)
  [1]=> int(3)
  [2]=> string(1) "2"
  [3]=> int(2)
  [4]=> int(1)
 }
}
 

实例二:

不区分大小写字母排序

SORT_STRING 和 SORT_REGULAR 都是区分大小写字母的,大写字母会排在小写字母之前。
要进行不区分大小写的排序,就要按照原数组的小写字母拷贝来排序。

<?php
 $array=array('Alpha','atomic','Beta','bank');
 $array_lowercase=array_map('strtolower',$array);
 array_multisort($array_lowercase,SORT_ASC,SORT_STRING,$array);
 print_r($array);
?> 

运行结果:

Array
(
  [0] => Alpha
  [1] => atomic
  [2] => bank
  [3] => Beta
)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章 大家在看