`
dennisbing
  • 浏览: 160739 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

二维数组按字段名排序

    博客分类:
  • PHP
 
阅读更多

需求说明: 产品的一个变态需求,按照序号输入 又重复的输入序号,后输入的序号优先排前列。例如  1 23 3  4 ,那么第二个3 要放到第三的位置,第一个3放到第四个位置。排列的位置是:

1->1

2->2

3->3

4->3

5->4

之前有通过usort($dj_arr, array("setDjInfo", "arrDjCmp")); 自定义函数的字段排序,用在这里明显就是不符合要求了。这么变态的需求,以前没有见过啊。

$data[] = array('volume' => 'ee', 'sort' => 2);
$data[] = array('volume' => 'gg', 'sort' => 1);
$data[] = array('volume' => 'hh', 'sort' => 6);
$data[] = array('volume' => 'aa', 'sort' => 2);
$data[] = array('volume' => 'gegww', 'sort' => 6);
$data[] = array('volume' => 'comeon', 'sort' => 7);
$data[] = array('volume' => 'hchange', 'sort' => 7);
$data[] = array('volume' => 'ladywyh', 'sort' => 7);
$data[] = array('volume' => 'cyworld', 'sort' => 7);


// 取得列的列表
foreach ($data as $key => $row) {
    $sort[$key] = $row['sort'];
    $data[$key]['key'] = $key;
    $vkey[$key] = $key;
}

// 将数据根据 sort 升序排列,根据 key降序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($sort, SORT_ASC,$vkey, SORT_DESC, $data);

分享到:
评论

相关推荐

    C#实现对二维数组排序的方法

    文中提供的代码提供了一种解决方案,它首先将二维数组转换为`DataTable`对象,利用`DataTable`的排序功能,然后将排序后的结果反向映射回二维数组。 这段代码定义了一个名为`Sort<T>`的静态方法,接受三个参数: 1....

    php处理二维数组(去除重复项,排序,转换,去空白等)

    这些函数允许用户自定义排序逻辑,分别用于保持键名不变、按键名排序和按值排序。 ```php function custom_sort($a, $b) { return $a - $b; // 自定义排序规则 } $a = [5, 3, 1, 4, 2]; usort($a, "custom_sort")...

    php 二维数组时间排序实现代码

    1. 函数定义:首先,定义了一个名为arraySort()的函数,它接受三个参数:$arr(需要排序的二维数组),$keys(用于排序的二维数组中的键),以及$type(排序方式,默认为升序,即asc)。 2. 获取排序字段:在函数...

    PHP 二维数组根据某个字段排序的具体实现

    * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'); $arrUsers = array( array('id' => 1, 'name' => '张三', 'age' => 25...

    定义一个二维数组用于存储学生的学号,姓名和c#课程的考试成绩,然后输入学号、姓名和c#成绩。最后按c#成绩升序和降序输出成绩单。

    这个程序展示了如何利用C#的二维数组处理和排序学生数据。通过这种方式,我们可以方便地管理大量学生的信息,并按需进行各种操作,如查找、统计等。在实际项目中,可能需要进一步封装这些功能到类或结构体中,以提高...

    PHP排序之二维数组的按照字母排序实现代码

    在处理数据时,尤其是在二维数组中根据字母顺序进行排序是非常常见的一种需求。本文将详细介绍如何在PHP中对二维数组按照字母顺序进行排序,并提供了相应的代码示例。 首先,我们需要理解二维数组的概念。在PHP中,...

    mysqli查询并返回二维数组.rar

    现在我们有了一个二维数组,你可以根据需要对它进行操作,例如遍历、筛选或排序。以下是一个简单的遍历示例: ```php foreach ($rows as $row) { echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - ...

    PHP实现二维数组按指定的键名排序的方法示例

    本文实例讲述了PHP实现二维数组按指定的键名排序的方法。分享给大家供大家参考,具体如下: <?php /*二维数组按指定的键值排序*/ function array_sort($array,$keys,$type='asc'){ if(!isset($array) || !is_...

    PHP实现二维数组根据key进行排序的方法

    下面是一个名为`array_sort()`的函数示例,用于根据指定的键值对二维数组进行排序: ```php function array_sort($arr, $keys, $type = 'desc') { $key_value = $new_array = array(); foreach ($arr as $k => $v...

    详解PHP 二维数组排序保持键名不变

    在对二维数组进行排序时,如果希望排序后仍保持原有的键名(索引)不变,这是一个相对复杂的操作。在PHP中,原始的`sort()`, `rsort()`, `asort()`, `ksort()`等内置排序函数在排序后都会重置数组的键名,这就使得...

    php自定义函数实现二维数组按指定key排序的方法

    `array_sort()` 函数是一个自定义函数,用于实现这样的功能,允许我们按指定的key对二维数组进行升序或降序排序。 以下是对`array_sort()` 函数的详细解释: ```php function array_sort($arr, $keys, $type = '...

    php自定义函数实现二维数组排序功能

    在某些情况下,我们需要对二维数组进行排序,例如按照特定键值的升序或降序排列。PHP内置的`array_multisort()`函数可以用于一维数组或多维数组的排序,但有时我们可能需要更灵活的排序方式,比如按多个键进行排序,...

    PHP实现二维数组按照指定的字段进行排序算法示例

    在处理数据时,经常需要按照特定的字段对二维数组进行排序。PHP作为一门广泛使用的脚本语言,提供了相应的函数来实现这一需求。本文介绍的实例主要讲述了如何使用PHP实现二维数组按照指定字段排序的具体操作方法。 ...

    PHP 二维关联数组根据其中一个字段排序(推荐)

    在这个示例中,$array是一个包含多个关联数组的二维数组,每个关联数组包含一个名字和一个年龄。通过调用wpjam_array_multisort函数,并指定'age'字段作为排序依据,可以实现按照年龄升序排序整个数组。 值得注意的...

    php二维数组排序方法(array_multisort usort)

    本文将介绍两种常见的二维数组排序方法:`array_multisort` 和 `usort`。 首先,我们来看一个二维数组的例子: ```php $users = array( array('name' => 'tom', 'age' => 20), array('name' => 'anny', 'age' =>...

    PHP多维数组指定多字段排序的示例代码

    当需要根据多个字段进行排序时,可以将各个字段对应的值保存在一个新的一维数组中,然后将这些新数组和原始多维数组一起作为参数传递给`array_multisort`。排序时,`array_multisort`会首先根据第一个数组进行排序,...

Global site tag (gtag.js) - Google Analytics