Skip to content

minwork/array

Repository files navigation

Minwork Array

Build Status Coverage Status Latest Stable Version Github Stars

Pack of array convenience methods for handling:

  • Nested arrays
  • Arrays of objects
  • Associative arrays
  • Chaining array transformations

Easily create, access, validate, manipulate and transform arrays

Advanced implementation of well known operations:

Installation

composer require minwork/array

Advantages

  • Thoroughly tested
  • Well documented
  • Leverages PHP 7 syntax and speed
  • No external dependencies
  • Large variety of usages

Example of usage

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

Documentation

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

Sponsor this project

 

Packages

No packages published

Languages