minwork/array

针对关联数组(assoc array)、多维数组、对象数组和嵌套数组元素处理的先进数组函数包

维护者

详细信息

github.com/minwork/array

源代码

问题

资助包维护!
minwork

v1.13.5 2020-10-04 22:20 UTC

README

Build Status Coverage Status Latest Stable Version Github Stars

处理嵌套数组的数组便利方法包

  • 嵌套数组
  • 对象数组
  • 关联数组
  • 链式数组转换

轻松 创建访问验证操作转换 数组

著名操作的先进实现

安装

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, ...],
  ...
]

文档

https://minwork.gitbook.io/array/