original_string: public static function attributes(array $attributes = null) {
          $attributes = (array)$attributes;
          $output = '';
          foreach ($attributes as $name => $value) {
              $output .= self::attribute($name, $value);
          }
          return $output;
      }
code: public static function attributes(array $attributes = null) {
          $attributes = (array)$attributes;
          $output = '';
          foreach ($attributes as $name => $value) {
              $output .= self::attribute($name, $value);
          }
          return $output;
      }
code_tokens: public static function attributes ( array $ attributes = null ) { $ attributes = ( array ) $ attributes ; $ output = '' ; foreach ( $ attributes as $ name => $ value ) { $ output .= self :: attribute ( $ name , $ value ) ; } return $ output ; }
docstring: Outputs a list of HTML attributes and values
  
  @param array $attributes The tag attributes (array('src' => $url, 'class' => 'class1') etc.)
  The values will be escaped with {@link s()}
  @return string HTML fragment
docstring_tokens: Outputs a list of HTML attributes and values