original_string: static function combine ($inputs, array $fields = null, $flags = 2)
    {
      $mul = new MultipleIterator($flags);
      foreach (iterator ($inputs) as $k => $it)
        $mul->attachIterator (iterator ($it), isset($fields) ? $fields[$k] : $k);
      return new static ($mul);
    }
code: static function combine ($inputs, array $fields = null, $flags = 2)
    {
      $mul = new MultipleIterator($flags);
      foreach (iterator ($inputs) as $k => $it)
        $mul->attachIterator (iterator ($it), isset($fields) ? $fields[$k] : $k);
      return new static ($mul);
    }
code_tokens: static function combine ( $ inputs , array $ fields = null , $ flags = 2 ) { $ mul = new MultipleIterator ( $ flags ) ; foreach ( iterator ( $ inputs ) as $ k => $ it ) $ mul -> attachIterator ( iterator ( $ it ) , isset ( $ fields ) ? $ fields [ $ k ] : $ k ) ; return new static ( $ mul ) ; }
docstring: Creates a Flow from a list of iterable inputs that iterates over all of them in parallel.
  
  The generated sequence is comprised of array items where each one contains an iteration step from each one of the
  inputs. The key for the value from each input corresponds (by default) to the original key for the
  input on the original set, or it may be fetched from the `$fields` argument, if one is provided.
  
  The iteration continues until all inputs are exhausted, returning `null` fields for prematurely finished inputs.
  
  You can change these behaviours using the `$flags` argument.
  
  @param mixed      $inputs A sequence of iterable inputs.
  @param array|null $fields A list or map of key names for use on the resulting array items. If not
  specified, the original iterator's keys will be used or numerical autoincremented
  indexes, depending on the `$flags`.
  @param int        $flags  One or more of the MultipleIterator::MIT_XXX constants.
  <p>Default: MIT_NEED_ANY | MIT_KEYS_ASSOC
  @return static
docstring_tokens: Creates a Flow from a list of iterable inputs that iterates over all of them in parallel .