PHPackages                             nancheng/pfinal-array - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nancheng/pfinal-array

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nancheng/pfinal-array
=====================

This is a PHP array manipulation middleware

v0.2.2(5y ago)5250851MITPHPPHP &gt;=5.4.0

Since Nov 2Pushed 5y ago2 watchersCompare

[ Source](https://github.com/pfinalclub/pfinal-array)[ Packagist](https://packagist.org/packages/nancheng/pfinal-array)[ Docs](https://github.com/pfinalclub/pfinal-array)[ RSS](/packages/nancheng-pfinal-array/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (1)Versions (5)Used By (1)

pfinal-array
============

[](#pfinal-array)

[![](https://camo.githubusercontent.com/2935febc34f8bc98f27dd815942a9c0308a0b7cc1a54c9bf0d3a317a9b9c9438/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f7066696e616c636c75622f7066696e616c2d61727261793f7374796c653d666c61742d737175617265)](https://github.com/pfinalclub/pfinal-array)[![](https://camo.githubusercontent.com/7e957d77330620fc5072e2541cc53f76c07d8f6142469023e11a130a32ceefbe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f7066696e616c636c75622f7066696e616c2d61727261793f7374796c653d666c61742d737175617265)](https://github.com/pfinalclub/pfinal-array)[![](https://camo.githubusercontent.com/76768264eac37a90325ef8e765bb4aab48ec92b732f48a1387c77ab9d2a9bb69/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f7066696e616c636c75622f7066696e616c2d61727261793f7374796c653d666c61742d737175617265)](https://github.com/pfinalclub/pfinal-array)[![](https://camo.githubusercontent.com/7ff6e595d2efa7d60474e74cd045723a3e6982b861b2a8332229b92d435d5ba8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7066696e616c636c75622f7066696e616c2d61727261793f7374796c653d666c61742d737175617265)](https://github.com/pfinalclub/pfinal-array)

**Note:** `PHP` `PHPArray` `Validator`

这是一个PHP数组操作增强组件,对 PHP 数组的常用操作进行封装

目前包括以下方法：

函数名函数描述pf\_del\_val()删除数组中的某个值pf\_key\_exists()判断数组中是否有这个键pf\_get()根据键名获取数组中的某个值,支持点语法pf\_set()设置数组元素值支持点语法pf\_arr\_sort()数组排序pf\_tree()二级数组树结构化(不递归)pf\_get\_tree()多级数组结构化(不递归)pf\_array\_unique()多维数组去重pf\_array\_depth()检测数组的维度pf\_encode()数据格式转换支持 数组转 'json','xml','csv','serialize'pf\_array\_flatten()将多维折叠数组变为一维pf\_is\_list()判断PHP数组是否索引数组pf\_array\_rand\_by\_weight()根据权重获取随机区间返回IDpf\_rand\_val()随机获取数组中的元素pf\_rand\_weighted()按权重 随机返回数组的值pf\_array\_shuffle()随机打乱数组(支持多维数组)pf\_array\_insert()在数组中的给定位置插入元素pf\_array\_diff\_both()返回两个数组中不同的元素pf\_array\_group\_by()按指定的键对数组依次分组pf\_array\_null()把数组中的null转换成空字符串pf\_count\_element()统计数组中元素出现的次数pf\_map()重组数组pf\_exists()判断数组中某个键有木有值pf\_arr\_group\_by()按指定值给数组分组pf\_arr\_sort\_by\_key()按指定键给数组排序pf\_arr\_remove\_empty()递归过滤多维数组中 空白字符，负值，false，nullpf\_date\_indexed()生成一个日期数组pf\_date\_assoc()产生一个关联数组pf\_array\_where()使用给定闭包对数组进行过滤pf\_array\_first()获取数组的第一个元素pf\_array\_last()获取数组的最后一个元素安装
--

[](#安装)

通过 Composer 安装：

```
  composer require nancheng/pfinal-array

```

---

使用
--

[](#使用)

```
    require './vendor/autoload.php';
    use pf\arr\PFarr;
    // 调用方法
```

例子
--

[](#例子)

*多维数组去重*

```
    $arr = [1,54,'a',45,12,'c',1,1,12,[1,1,'a',['a','b','a']]];
    $arr = PFarr::pf_array_unique($arr);
    echo '';
    print_r($arr);

    // 结果
    Array
    (
        [0] => 1
        [1] => 54
        [2] => a
        [3] => 45
        [4] => 12
        [5] => c
        [9] => Array
            (
                [0] => 1
                [2] => a
                [3] => Array
                    (
                        [0] => a
                        [1] => b
                    )

            )

    )
```

*获取指定列的数据*

```
$result = PFarr::pf_array_col($records, 'first_name', 'id');
    print_r($result);
```

*按指定的键对数组依次分组*

```
$records = [
    [
        'city'  => '上海',
        'age'   => 18,
        'name'  => '马二'
    ],
    [
        'city'  => '上海',
        'age'   => 20,
        'name'  => '翠花'
    ]
];

//按照 city 分组
$arr = PFarr::pf_array_group_by($records,'city');

//按照 city 分组 完成 之后 再按照  age 分组

$arr1 = PFarr::pf_array_group_by($records,'city','age');
```

*组词算法*

```
