• 公共方法整合(四)数组相关


    对,没错,他来了,他来了,他又一次的来了

    先搞怪一波噻。

    本篇呢主要提供的就是一些与数组相关的公共方法咯

    废话不多说,开始

    1. 根据二维数组中的某一列值进行排序
    2. 获取二维数组中的最大值或最小值键名值
    3. 判定数组中是否有此键名
    4. 删除数组中指定元素
    5. 获取二维数组某个字段值相同的某一列数据并重新组合
    6. 数组的交集与差集(即相同值与不同值)

    1.根据二维数组中的某一列值进行排序

    排序一直是大家比较常用的东东。

    一般一维数组排序有各种方法来进行

    但是二维数组就会麻烦一些了

    主要使用 了  array_column()  方法 与  array_multisort()  方法

    方法如下:

            #一维数组排序
            sort();    # 以升序对数组排序
            rsort();   # 以降序对数组排序
            asort();   # 根据值,以升序对关联数组进行排序
            ksort();   # 根据键,以升序对关联数组进行排序
            arsort();  # 根据值,以降序对关联数组进行排序
            krsort();  # 根据键,以降序对关联数组进行排序
            #排序
             $data = [
                "0" => [
                    'time' => '2020-12-15 09:00:00',
                    'money' => '0.11',
                ],
                "1" => [
                    'time' => '2020-12-15 11:00:00',
                    'money' => '0.15',
                ],
                "2" => [
                    'time' => '2020-12-15 10:00:00',
                    'money' => '0.17',
                ],
            ];
            #二维数组排序
            array_multisort();
            #SORT_ASC 升序
            #SORT_DESC 降序  
            $times = array_column($data,'time');
            array_multisort($times,SORT_ASC,$data);

    2020年09月19日


    2.获取二维数组中的最大值或最小值键名值

    获取二维数组其最重要的核心函数为 array_search()  方法

    方法如下:

            #一维数组获得最大值最小值
            max();  #获取最大值
            min();  #获取最小值
            #二维数组获取最大值对应ID
            $data = [
                "0" => [
                    'time' => '2020-12-15 09:00:00',
                    'money' => '0.19',
                ],
                "1" => [
                    'time' => '2020-12-15 11:00:00',
                    'money' => '0.15',
                ],
                "2" => [
                    'time' => '2020-12-15 10:00:00',
                    'money' => '0.17',
                ],
            ];
            $lists  = array_column($data, 'money');
            $id = array_search(max($lists), $lists); #获取对应键名

    2020年09年19日


    3.判定数组中是否有此键名

    使用方法  array_key_exists()

    使用如下:

        $array = [];
    
        if(!array_key_exists('istrue',$array))
        {
            return false;
        }

    2020年09月28日


    4.删除数组中指定元素

    使用方法 array_search() 和array_splice()

    先使用array_search()获得键名,然后使用array_splice()移除对应元素;

    也可以直接使用unset() 方法删 array_search()获得的键名

    $array = [1,2,3];
    
    #方法一
    array_splice($array,array_search(1, $array),1);
    
    #也可以使用
    unset(array_search(1, $array));

    2020年10月12日


    5.获取二维数组某个字段值相同的某一列数据并重新组合

     如果获取二维数组某一列值很好办,用array_column 方法获取即可

    但是如果只获取该字段 值等于1 的user_id 怎么办 呢?

    使用以下方法即可

    array_column(array_filter($treelist,function($val){
        if($val['levels'] == 1){
            return $val['user_id'];
        }else{
            return false;
        }
    }),'user_id');

    2021年01月26日


    6.数组的交集与差集(即相同值与不同值)

    交集比对

    array_intersect($arr1,$arr2...)   比较两个(或更多个)数组的键值,并返回交集。 只比对键值,不比对键名

    array_intersect_assoc($arr1,$arr2..) 比较两个(或更多个)数组的键值,并返回交集。 键名与键值都比对

    差集比对

    array_diff($arr1,$arr2...)  比较两个(或更多个)数组的键名和键值,并返回交集。  只比对键值,不比对键名

    array_diff_assoc($arr1,$arr2...)   比较两个(或更多个)数组的键名和键值,并返回交集。 键名与键值都比对

    2021年01月26日

    方法持续更新中。。。

    时间终会冲淡一切,但总有一些磨灭不掉。。

    只是自己已不在意。。

    终究是年纪不同看法亦不同。。

  • 相关阅读:
    关于C++类中的静态数据成员
    关于C++中char,sizeof,strlen,string
    C++学习笔记(7)
    C++学习笔记(6)
    C++学习笔记(指针)
    C++学习笔记(4)
    UVA 10780
    UVA 531
    HDU, 3579 Hello Kiki
    UVA, 10413 Crazy Savages
  • 原文地址:https://www.cnblogs.com/YFYQ/p/13696261.html
Copyright © 2020-2023  润新知