PHPackages                             w337886915/arr - 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. w337886915/arr

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

w337886915/arr
==============

数组增强组件主要是对数组等数据进行处理，如无限级分类操作、商品规格的迪卡尔乘积运算等

v1.1.1(7y ago)117MITPHPPHP &gt;=5.4.0

Since Sep 27Pushed 7y ago1 watchersCompare

[ Source](https://github.com/w337886915/arr)[ Packagist](https://packagist.org/packages/w337886915/arr)[ RSS](/packages/w337886915-arr/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

\#数组增强

数组增强组件主要是对数组等数据进行处理，如无限级分类操作、商品规格的迪卡尔乘积运算等。

\####安装组件 使用 composer 命令进行安装或下载源代码使用。

```
composer require w337886915/arr

```

\###根据键名获取数据 如果键名不存在时返回默认值，支持键名的点语法

```
$d=['a'=>1,'b'=>2];
\w337886915\arr\Arr::get($d,'c','没有数据哟');

```

使用点语法查找：

```
$d = ['web' => [ 'id' => 1, 'url' => 'abc.com' ]];
Arr::get($d,'web.url');

```

\####排队字段获取数据 以下代码获取除 id、url以外的数据

```
$d = ['id' => 1,'url' => 'acb.com','name'=>'后盾人'];
print_r(Arr::getExtName($d,['id','url']));

```

\###设置数组元素值支持点语法

```
$data = Arr::set([],'a.b.c',99);

```

\###改变数组键名大小写

```
$data = array('name'=>'w337886915',array('url'=>'baidu.com'));
$data = Arr::keyCase($data,1);
第2个参数为类型： 1 大写  0 小写

```

\###不区分大小写检测键名是否存

```
Arr::keyExists('Hd',['hd'=>'测试内容']);

```

\###数组值大小写转换

```
Arr::valueCase(['name'=>'w337886915'],1);
第2个参数为类型： 1 大写  0 小写

```

\###数组进行整数映射转换

```
$data = ['status'=>1];
$d = Arr::intToString($data,['status'=>[0=>'关闭',1=>'开启']]);

```

\###数组中的字符串数字转为数值类型

```
$data = ['status'=>'1','click'=>'200'];
$d = \w337886915\arr\Arr::stringToInt($data);

```

\###根据下标过滤数据元素

```
$d = [ 'id' => 1, 'url' => 'w337886915.com','title'=>'测试内容' ];
print_r(Arr::filterKeys($d,['id','url']));
//过滤 下标为 id 的元素

```

当第三个参数为 0 时只保留指定的元素

```
$d = [ 'id' => 1, 'url' => 'w337886915.com','title'=>'测试内容' ];
print_r(Arr::filterKeys($d,['id'],0));
//只显示id与title 的元素

```

\###获得树状结构

```
Arr::tree($data, $title, $fieldPri = 'cid', $fieldPid = 'pid');
参数                   	说明
$data                 	数组
$title                	字段名称
$fieldPri             	主键 id
$fieldPid             	父 id

```

\###获得目录列表

```
Arr::channelList($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1);
参数                      	说明
data                 	操作的数组
pid                  	父级栏目的 id 值
html                	栏目名称前缀，用于在视图中显示层次感的栏目列表
fieldPri              	唯一键名，如果是表则是表的主键
fieldPid              	父 ID 键名
level                 	等级（不需要传参数，系统运行时使用 )

```

\###获得多级目录列表（多维数组）

```
Arr::channelLevel($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid')
参数                          	说明
data                      	操作的数组
pid                      	父级栏目的 id 值
html                     	栏目名称前缀，用于在视图中显示层次感的栏目列表
fieldPri                 	唯一键名，如果是表则是表的主键
fieldPid                  	父 ID 键名

```

\###获得所有父级栏目

```
Arr::parentChannel($data, $sid, $fieldPri = 'cid', $fieldPid = 'pid');
参数                          	说明
data                      	操作的数组
sid                      	子栏目
fieldPri                 	唯一键名，如果是表则是表的主键
fieldPid                  	父 ID 键名

```

\###是否为子栏目

```
Arr::isChild($data, $sid, $pid, $fieldPri = 'cid', $fieldPid = 'pid')
参数                          	说明
data                      	操作的数组
sid                      	子栏目id
pid                      	父栏目id
fieldPri                 	唯一键名，如果是表则是表的主键
fieldPid                  	父 ID 键名

```

\###是否有子栏目

```
Arr::hasChild($data, $cid, $fieldPid = 'pid')
参数                          	说明
data                      	操作的数组
cid                      	栏目cid
fieldPid                  	父 ID 键名

```

\###迪卡尔乘积

```
Arr::descarte($arr, $tmp = array())

```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2832d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2b364cf500645f673ca1acfc19cd1f36e31fa9fc9744694ce6f52350ba443283?d=identicon)[w337886915](/maintainers/w337886915)

---

Top Contributors

[![w337886915](https://avatars.githubusercontent.com/u/11566081?v=4)](https://github.com/w337886915 "w337886915 (2 commits)")

---

Tags

arrayw337886915

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/w337886915-arr/health.svg)

```
[![Health](https://phpackages.com/badges/w337886915-arr/health.svg)](https://phpackages.com/packages/w337886915-arr)
```

###  Alternatives

[doctrine/collections

PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.

6.0k423.8M1.4k](/packages/doctrine-collections)[symfony/property-access

Provides functions to read and write from/to an object or array using a simple string notation

2.8k309.5M3.0k](/packages/symfony-property-access)[nette/utils

🛠 Nette Utils: lightweight utilities for string &amp; array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.

2.1k417.9M1.7k](/packages/nette-utils)[league/config

Define configuration arrays with strict schemas and access values with dot notation

565323.7M35](/packages/league-config)[cuyz/valinor

Dependency free PHP library that helps to map any input into a strongly-typed structure.

1.5k11.7M155](/packages/cuyz-valinor)[aimeos/map

Easy and elegant handling of PHP arrays as array-like collection objects similar to jQuery and Laravel Collections

4.3k443.7k14](/packages/aimeos-map)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
