在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
下边提到的几个数组函数的排序有一些共性: 1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型。 0 =>
string 'apple' (length=5) 1 => string 'banana' (length=6) 2 => string 'lemon' (length=5) 3 => string 'orange' (length=6) string 'orange' (length=6) 1 => string 'lemon' (length=5) 2 => string 'banana' (length=6) 3 => string 'apple' (length=5) string 'apple' (length=5) 'b' => string 'banana' (length=6) 'd' => string 'lemon' (length=5) 'a' => string 'orange' (length=6) string 'orange' (length=6) 'd' => string 'lemon' (length=5) 'b' => string 'banana' (length=6) 'c' => string 'apple' (length=5)
'a' =>
string 'orange' (length=6) 'b' => string 'banana' (length=6) 'c' => string 'apple' (length=5) 'd' => string 'lemon' (length=5) string 'lemon' (length=5) 'c' => string 'apple' (length=5) 'b' => string 'banana' (length=6) 'a' => string 'orange' (length=6) int 1 1 => int 2 2 => int 3 3 => int 5 4 => int 6 int 3 'a banana' => int 4 'the Earth' => int 2 'John' => int 1 int 4 'b' => int 8 'c' => int -1 'd' => int -9 'e' => int 2 'f' => int 5 'g' => int 3 'h' => int -4 array 'd' => int -9 'h' => int -4 'c' => int -1 'e' => int 2 'g' => int 3 'a' => int 4 'f' => int 5 'b' => int 8 string '10' (length=2) 1 => int 100 2 => int 100 3 => int 11 4 => string 'a' (length=1) 1 => array 0 => int 1 1 => int 3 2 => string '2' (length=1) 3 => int 2 4 => int 1 //说明: 1 上例中:$ar数组优先按照$ar[0]的字符串值升序排列,如果字符串值相等,再按照$ar[1]数组的数字值降序排列。 2 array_multisort函数的任意一个位置的参数如果是数组,表示排序时用的值, 如果有多个数组参数,优先按照前边的数组值进行排序,如果是常量,例如 SORT_ASC, SORT_DESC, SORT_REGULAR,SORT_NUMERIC, SORT_STRING. 表示排序方法(数组取值前优先)。
========================================================================================== PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: 01. function array_sort( $arr , $keys , $type = 'asc' ){
02. $keysvalue = $new_array = array ();
03. foreach ( $arr as $k => $v ){
04. $keysvalue [ $k ] = $v [ $keys ];
05. }
06. if ( $type == 'asc' ){
07. asort( $keysvalue );
08. } else {
09. arsort( $keysvalue );
10. }
11. reset( $keysvalue );
12. foreach ( $keysvalue as $k => $v ){
13. $new_array [ $k ] = $arr [ $k ];
14. }
15. return $new_array ;
16. }
它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例: 01. $array = array (
02. array ( 'name' => '手机' , 'brand' => '诺基亚' , 'price' =>1050),
03. array ( 'name' => '笔记本电脑' , 'brand' => 'lenovo' , 'price' =>4300),
04. array ( 'name' => '剃须刀' , 'brand' => '飞利浦' , 'price' =>3100),
05. array ( 'name' => '跑步机' , 'brand' => '三和松石' , 'price' =>4900),
06. array ( 'name' => '手表' , 'brand' => '卡西欧' , 'price' =>960),
07. array ( 'name' => '液晶电视' , 'brand' => '索尼' , 'price' =>6299),
08. array ( 'name' => '激光打印机' , 'brand' => '惠普' , 'price' =>1200)
09. );
10.
11. $ShoppingList = array_sort( $array , 'price' );
12. print_r( $ShoppingList );
上面是对$array这个二维数组按照'price'从低到高的排序。 输出结果:(略)。 |
2022-08-18
2022-08-17
2022-11-06
2022-08-17
2022-07-29
请发表评论