/** * {@inheritdoc} */ public function flatten() { if (is_array($this->value)) { $result = []; foreach ($this->value as $value) { if (!$value instanceof ParameterInterface) { $value = new self($value, $this->type); } $result = array_merge($result, $value->flatten()); } return $result; } return [$this]; }
public function union($array = null) { $arrays = self::_wrapArgs(func_get_args(), 1); if (count($arrays) === 1) { return self::_wrap($array); } $__ = new self(); return self::_wrap($__->flatten(array_values(array_unique(call_user_func_array('array_merge', $arrays))))); }
public static function union($array = null) { $arrays = func_get_args(); $__ = new self(); return $__->flatten(array_values(array_unique(call_user_func_array('array_merge', $arrays), SORT_REGULAR))); }
public function flatten($collection=null) { list($collection) = self::_wrapArgs(func_get_args(), 1); $collection = self::_collection($collection); $return = array(); if(count($collection) > 0) { foreach($collection as $item) { if(is_array($item)) { $__ = new self; $return = array_merge($return, $__->flatten($item)); } else $return[] = $item; } } return self::_wrap($return); }