You can pull in the package via composer:
composer require pulli/collection-macros
- mapToCollection
- recursiveToArray
Maps all arrays/objects recursively to a collection object of collections, which allow nested function calling.
$collection = Collection::mapToCollection([['test' => 1],2,3]);
$collection->get(0)->get('test'); // returns 1
// Item has a toArray() public method, then it can be wrapped into a collection like this:
$collection = Collection::mapToCollection([Item(),Item()], true);
Like mapToCollection
it maps all arrays/objects recursively to an array.
// Item has a toArray() public method, then it can be wrapped into the collection like this:
$collection = Collection::recursiveToArray(['item1' => Item(), 'item2' => Item()]);