【www.gdgbn.com--C语言】

//sort() 函数按升序对给定数组的值排序。

$my_array = array("a" => "dog", "b" => "cat", "c" => "horse");

sort($my_array);
print_r($my_array);

//krsort(array,sorttype)函数将数组按照键逆向排序,为数组值保留原来的键。
$my_array = array("a" => "dog", "b" => "cat", "c" => "horse");
krsort($my_array);
print_r($my_array);

//看一款实例

function natkrsort($array)
{
    $keys = array_keys($array);
    natsort($keys);

    foreach ($keys as $k)
    {
        $new_array[$k] = $array[$k];
    }
  
    $new_array = array_reverse($new_array, true);

    return $new_array;
}

// arsort() arsort() 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

$my_array = array("a" => "dog", "b" => "cat", "c" => "horse");

arsort($my_array);
print_r($my_array);

//asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序

$my_array = array("a" => "dog", "b" => "cat", "c" => "horse");

asort($my_array);
print_r($my_array);

//缩合上面的实例,写一款数组排序函数

/**
 
  * 对数组排序
  * @param array $array 操作的数组
  * @param string $type key按键排序,value按值排序
  * @param string $field 字段名
  * @param string $order 排序方式asc顺序desc逆序
  * @return void
  */
 function sort(&$array, $type = "value", $field = null, $order = "asc") {
  if ($field) {
   foreach ($array as $key => $value) {
    $temp[$key] = $value[$field];
   }
   if ($order=="asc") {
    asort($temp);
   } else {
    arsort($temp);
   }
   $newarray = array();
   foreach ($temp as $key => $value) {
    $newarray[] = $array[$key];
   }
   $array = $newarray;
  } else {
   if ($type=="key") {
    if ($order=="asc") {
     ksort($array);
    } else {
     krsort($array);
    }
   } else {
    if ($order=="asc") {
     asort($array);
    } else {
     arsort($array);
    }
   }
  }
 }
  

本文来源:http://www.gdgbn.com/asp/28114/