lithium\util\Collection::map PHP Method

map() public method

Applies a callback to a copy of all data in the collection and returns the result.
public map ( callback $filter, array $options = [] ) : mixed
$filter callback The filter to apply.
$options array The available options are: - `'collect'`: If `true`, the results will be returned wrapped in a new `Collection` object or subclass.
return mixed The filtered items. Will be an array unless `'collect'` is defined in the `$options` argument, then an instance of this class will be returned.
    public function map($filter, array $options = array())
    {
        $defaults = array('collect' => true);
        $options += $defaults;
        $data = array_map($filter, $this->_data);
        if ($options['collect']) {
            $class = get_class($this);
            return new $class(compact('data'));
        }
        return $data;
    }

Usage Example

Example #1
0
 /**
  * Applies a callback to a copy of all data in the collection
  * and returns the result.
  *
  * Overriden to load any data that has not yet been loaded.
  *
  * @param callback $filter The filter to apply.
  * @param array $options The available options are:
  *              - `'collect'`: If `true`, the results will be returned wrapped
  *              in a new `Collection` object or subclass.
  * @return object The filtered data.
  */
 public function map($filter, array $options = array())
 {
     $defaults = array('collect' => true);
     $options += $defaults;
     if (!$this->closed()) {
         while ($this->next()) {
         }
     }
     $data = parent::map($filter, $options);
     if ($options['collect']) {
         foreach (array('_model', '_schema', '_pathKey') as $key) {
             $data->{$key} = $this->{$key};
         }
     }
     return $data;
 }
All Usage Examples Of lithium\util\Collection::map