激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP多維數組排序array詳解

PHP多維數組排序array詳解

2021-07-18 17:49Stephen102 PHP教程

這篇文章主要為大家詳細介紹了PHP多維數組排序array的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

PHP數組Array按字段排序

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * Sort array by filed and type, common utility method.
 * @param array $data
 * @param string $sort_filed
 * @param string $sort_type SORT_ASC or SORT_DESC
 */
public function sortByOneField($data, $filed, $type)
{
  if (count($data) <= 0) {
    return $data;
  }
  foreach ($data as $key => $value) {
    $temp[$key] = $value[$filed];
  }
  array_multisort($temp, $type, $data);
  return $data;
}

PHP數組Array按二維排序,先按第一個字段排序,再按第二個字段排序

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * Sort array by filed and type, common utility method.
 * @param array $array
 * @param string $filed1
 * @param string $type1 SORT_ASC or SORT_DESC
 * @param string $filed2
 * @param string $type2 SORT_ASC or SORT_DESC
 */
public function sortByTwoFiled($data, $filed1, $type1, $filed2, $type2)
{
  if (count($data) <= 0) {
    return $data;
  }
  foreach ($data as $key => $value) {
    $temp_array1[$key] = $value[$filed1];
    $temp_array2[$key] = $value[$filed2];
  }
  array_multisort($temp_array1, $type1, $temp_array2, $type2, $data);
  return $users;
}

sortMultiArray()最多支持3維數組排序,當然可以擴充的,自定義方法重載實現對多維數字的排序,這里的多維是說數據的多個字段。

使用方法:

1. sortMultiArray($data, [‘score' => SORT_DESC])

2. sortMultiArray($data, [‘score' => SORT_DESC, ‘count' => SORT_ASC])

3. sortMultiArray($data, [‘score' => SORT_DESC, ‘count' => SORT_ASC, ‘name' => SORT_ASC])

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
   * Sort multi array by filed and type.
   * @param data $array
   * @param condition $array
   */
  public function sortMultiArray(&$data, $condition)
  {
    if (count($data) <= 0 || empty($condition)) {
      return $data;
    }
    $dimension = count($condition);
    $fileds = array_keys($condition);
    $types = array_values($condition);
    switch ($dimension) {
      case 1:
        $data = $this->sort1Dimension($data, $fileds[0], $types[0]);
        break;
      case 2:
        $data = $this->sort2Dimension($data, $fileds[0], $types[0], $fileds[1], $types[1]);
        break;
      default:
        $data = $this->sort3Dimension($data, $fileds[0], $types[0], $fileds[1], $types[1], $fileds[2], $types[2]);
        break;
    }
    return $data;
  }
 
  public function sort1Dimension(&$data, $filed, $type)
  {
    if (count($data) <= 0) {
      return $data;
    }
    foreach ($data as $key => $value) {
      $temp[$key] = $value[$filed];
    }
    array_multisort($temp, $type, $data);
    return $data;
  }
 
  public function sort2Dimension(&$data, $filed1, $type1, $filed2, $type2)
  {
    if (count($data) <= 0) {
      return $data;
    }
    foreach ($data as $key => $value) {
      $sort_filed1[$key] = $value[$filed1];
      $sort_filed2[$key] = $value[$filed2];
    }
    array_multisort($sort_filed1, $type1, $sort_filed2, $type2, $data);
    return $data;
  }
 
  public function sort3Dimension(&$data, $filed1, $type1, $filed2, $type2, $filed3, $type3)
  {
    if (count($data) <= 0) {
      return $data;
    }
    foreach ($data as $key => $value) {
      $sort_filed1[$key] = $value[$filed1];
      $sort_filed2[$key] = $value[$filed2];
      $sort_filed3[$key] = $value[$filed3];
    }
    array_multisort($sort_filed1, $type1, $sort_filed2, $type2, $sort_filed3, $type3, $data);
    return $data;
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/u010571844/article/details/51284317

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 免费看成年人网站 | xxxx18韩国护士hd老师 | 奇米影视四色7777 | 鸳鸯谱在线观看高清 | 免费久久久 | 国产91九色 | 午夜视频免费播放 | 久久草在线看 | 国产午夜精品视频免费不卡69堂 | 国产成年人网站 | 免费永久看羞羞片网站入口 | 国产精品久久久久久久午夜片 | 成人av一二三区 | 色999久久久精品人人澡69 | 精品黑人一区二区三区国语馆 | 天天色综合2 | 日韩毛片在线看 | 免费在线观看亚洲 | av最新在线观看 | 男女羞羞视频在线观看免费 | 国产毛毛片一区二区三区四区 | 久久精品国产久精国产 | 欧美顶级毛片在线播放小说 | 亚洲第一色婷婷 | 成人区精品一区二区婷婷 | 国产精品一区二区视频 | 中文字幕在线视频日本 | 国产小视频一区 | 国产精品久久久乱弄 | 亚洲资源在线播放 | 依依成人综合 | 在线a毛片免费视频观看 | 欧美在线成人影院 | 久久美女色视频 | 午夜视频免费在线观看 | 超碰97人 | 一区二区三区手机在线观看 | 免费毛片在线视频 | 欧美三级一级 | 国产精品美女一区二区 | 91精品国产综合久久久动漫日韩 |