You can pull in the package via composer:
composer require pulli/collection-macros
- mapToCollectionFrom
- mapToCollection
- recursiveToArrayFrom
- recursiveToArray
Maps all arrays/objects recursively to a collection object of collections, which allow nested function calling.
$collection = Collection::mapToCollectionFrom([['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::mapToCollectionFrom([Item(),Item()], true);
Like mapToCollectionFrom
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:
$array = Collection::recursiveToArrayFrom(['item1' => Item(), 'item2' => Item()]);