• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • krsort()

    (PHP 4, PHP 5, PHP 7)

    对数组按照键名逆向排序

    说明

    krsort(array &$array[,int $sort_flags= SORT_REGULAR] ): bool

    对数组按照键名逆向排序,保留键名到数据的关联。主要用于结合数组。

    参数

    $array

    输入的数组。

    $sort_flags

    可以用可选参数$sort_flags改变排序的行为,详情见 sort()。

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Example #1krsort()例子

    <?php
    $fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
    krsort($fruits);
    foreach ($fruits as $key => $val) {
        echo "$key = $val\n";
    }
    ?>
    

    以上例程会输出:

    d = lemon
    c = apple
    b = banana
    a = orange
    

    参见

    • arsort()对数组进行逆向排序并保持索引关系
    • ksort()对数组按照键名排序
    • 数组排序函数对比

    Best deal sorting:
    This is a function that will sort an array with integer keys (weight) and float values (cost) and delete 'bad deals' - entries that are more costly than other entries that have greater or equal weight.
    Input: an array of unsorted weight/cost pairs
    Output: none
    function BEST_DEALS($myarray)
    {  // most weight for least cost:
      //  Peter Kionga-Kamau, http://www.pmkmedia.com
      // thanks to Nafeh for the reversal trick
      // free for unrestricted use.
      krsort($myarray, SORT_NUMERIC);
      while(list($weight, $cost) = each($myarray))
      {  // delete bad deals, retain best deals:
        if(!$lastweight)
        {
          $lastweight=$weight;
          $lastcost = $cost;
        }
        else if($cost >= $lastcost) unset($myarray[$weight]);
        else
        {
          $lastweight=$weight;
          $lastcost = $cost;
        }
      }
      ksort($myarray);
    }
    To create a natural reverse sorting by keys, use the following function:
    <?php
    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;
    }
    ?>
    

    上篇:key()

    下篇:ksort()