Example #1
0
 /**
  * {@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];
 }
Example #2
0
 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);
 }