宝马娱乐在线112222 > 网络应用 > php二维数组排序代码

原标题:php二维数组排序代码

浏览次数:59 时间:2019-10-01

 代码如下

 -9
  'e' =>

<?php
 
$ar = array(
    0 => array('a'=>5, 'b'=>3, 'c'=>3),
    1 => array('a'=>5, 'b'=>2, 'c'=>1),
    2 => array('a'=>1, 'b'=>1, 'c'=>2)
);
$a = array();
$b = array();
 
 
foreach($ar as $k=>$v) {
  $a[$k] = $v['a'];
  //$b[$k] = $v['b'];
  //$c[$k] = $v['c'];
}
 
 
 
array_multisort($a, SORT_ASC, $ar);
//array_multisort($a, SORT_DESC, $b, SORT_ASC, $ar);
 
print_r($ar);

 3
  'a banana' =>

-----------------uksort使用自定义函数按照数组的key排序-----------------

int

int

int

 100
      3 =>

 'orange' (length=6)
  'b' =>

string

string

<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
var_dump($fruits);
?>
结果:
array

 代码如下

int

 代码如下

int

string

string

 8
  'c' =>

 'lemon' (length=5)
  3 =>

 'banana' (length=6)
  'a' =>

 代码如下

string

 -1
  'd' =>

string

// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
var_dump($array);

string

int

 2
  'f' =>

string

int

 'orange' (length=6)
  1 =>

 代码如下

 

string

 代码如下

int

 '2' (length=1)
      3 =>

array_multisort( $arr , mixed)

uksort($a, "cmp");

int

-------------------array_multisort排序多个数组或多维数组---------

0 =>

//说明:
1 上例中:$ar数组优先按照$ar[0]的字符串值升序排列,如果字符串值相等,再按照$ar[1]数组的数字值降序排列。
2 array_multisort函数的任意一个位置的参数如果是数组,表示排序时用的值,
如果有多个数组参数,优先按照前边的数组值进行排序,如果是常量,例如
SORT_ASC, SORT_DESC, SORT_REGULAR,SORT_NUMERIC, SORT_STRING.

 2
  'g' =>

 -4
array
  'd' =>

<?php

string

以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:

 'banana' (length=6)
  'c' =>

 3
  'h' =>

 3
  'a' =>

<?php
function cmp($a, $b)
{
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

string

 'lemon' (length=5)
  'b' =>

sort  (  &$arr   [,fruits] )  对数组进行从低到高排序 ,并赋予新的键名 返回bool
rsort  ( &$arr   [,fruits] ) 对数组进行逆向排序  并赋予新的键名
asort ( &$arr   [,fruits] ) 对数组进行排序 ,并保持索引不变
arsort( &$arr   [,fruits] ) 对数组进行逆向排序 并保持索引不变

int

string

int

 代码如下

 3
      2 =>

 'lemon' (length=5)

int

 'apple' (length=5)
  'b' =>

int

 代码如下

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

int

<?php
// Comparison function
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
宝马娱乐在线,    return ($a < $b) ? -1 : 1;
}

int

 5
  4 =>

 100
      2 =>

string

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
var_dump($fruits);
?>
结果:
array
  'c' =>

 -4
  'c' =>

string

int

 1
      1 =>

function array_sort($arr,$keys,$type='asc'){
 $keysvalue = $new_array = array();
 foreach ($arr as $k=>$v){
  $keysvalue[$k] = $v[$keys];
 }
 if($type == 'asc'){
  asort($keysvalue);
 }else{
  arsort($keysvalue);
 }
 reset($keysvalue);
 foreach ($keysvalue as $k=>$v){
  $new_array[$k] = $arr[$k];
 }
 return $new_array;
}

 'apple' (length=5)

int

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
var_dump($fruits);
?>
结果
array

$a = array(3, 2, 5, 6, 1);

 'lemon' (length=5)
  'c' =>

 代码如下

natsort( &$arr )     对数组键值进行‘自然排序法’ 按照长度 字母排序等
natcasesort( &$arr ) 对数组进行不区分大小写的 ‘自然排名’

int

string

第二个参数是 可以根据值改变排序行为

本文由宝马娱乐在线112222发布于网络应用,转载请注明出处:php二维数组排序代码

关键词:

上一篇:没有了

下一篇:没有了