nzo / array
高级数组函数包,特别适用于:关联数组(assoc),多维数组,对象数组以及嵌套数组元素的处理
v1.13.3
2020-10-01 14:55 UTC
Requires
- php: >=7.1
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-08-29 05:31:11 UTC
README
处理嵌套数组的数组便利方法包
- 嵌套 数组
- 对象 数组
- 关联 数组
- 链式 数组变换
轻松 创建、访问、验证、操作 和 转换 数组
高级知名操作的实现
安装
composer require minwork/array
优点
- 全面 测试
- 良好 文档
- 利用 PHP 7 语法和 速度
- 无外部依赖
- 多种用法
用法示例
// Set nested array value $array = Arr::set([], 'key1.key2.key3', 'my_value'); // Which is equivalent to [ 'key1' => [ 'key2' => [ 'key3' => 'my_value' ] ] ] // Get nested array value Arr::get($array, 'key1.key2') -> ['key3' => 'my_value'] // Check if array has nested element Arr::has($array, 'key1.key2.key3') -> true // Map array while accessing it's key Arr::map($array, function ($key, $value) { // Your code here }); // Find array element Arr::find($array, function ($element) { return Arr::get($element, 'key2.key3') === 'my_value'; }) -> [ 'key2' => [ 'key3' => 'my_value'] ] // Chain few methods Arr::obj(['test' => 1, 'foo' => 'bar']) ->set('abc', 123) ->set('[]', 'auto_index') ->remove('foo') ->getArray() -> [ 'test' => 1, 'abc' => 123, 'auto_index' ] // Group objects by the result of calling method 'getSize' on each object Arr::groupObjects([$cat, $dog, $fish, ...], 'getSize') -> [ 'medium' => [$cat, $dog, ...], 'small' => [$fish, ...], ... ]