Pass multiple sets of variables to theme function If I want to loop through multiple sets of theme variables in my custom theme template, how do I define them in my theme function and pass them to hook_theme?

For instance, in my case, I'm generating an email body to send via drupal_mail(), and the body will contain a list of spa openings. I want to iterate through each set in the mail (the same way views templates iterate over views rows). I have my theme function defined like so:

/**
 * Implements hook_theme().
 */
function my_module_theme($existing, $type, $theme, $path) {
  return array(
    'my_module_mail' =&gt; array(
      'variables' =&gt; array(
        'service_name' =&gt; NULL,
        'time' =&gt; NULL,
        'therapist' =&gt; NULL,
        'booking_link' =&gt; NULL,
      ),
      'template' =&gt; 'templates/my-module-mail',
    ),
  );
}


and I can pass one set of variables to the template just fine like so:

foreach ($available_openings[$tid['tid']] as $mail_opening) {
  $variables = $mail_opening;
  $body = theme('my_module_mail', $variables);
}


but what I want to do is pass an array of the variables array so that in my template can do something like this:

&lt;?php foreach ($openings as $id =&gt; $opening): ?&gt;
  &lt;div class="&lt;?php print $classes_array[$id]; ?&gt;"&gt;
    &lt;?php print $opening; ?&gt;
  &lt;/div&gt;
&lt;?php endforeach; ?&gt;


What do I need to change to do that?

Thanks.
And, the general rule of "post a question and that helps you figure it out yourself" applies here yet again.

All I did was modify my theme hook like so:

/**
 * Implements hook_theme().
 */
function my_module_theme($existing, $type, $theme, $path) {
  return array(
    'my-module-mail' =&gt; array(
      'variables' =&gt; array(
        'openings' =&gt; array(
          'service_name' =&gt; NULL,
          'time' =&gt; NULL,
          'therapist' =&gt; NULL,
          'booking_link' =&gt; NULL,
        ),
      ),
      'template' =&gt; 'templates/my-module-mail',
    ),
  );
}


and fill my $variables array like so:

  // Loop through all openings for this category.
    foreach ($available_openings[$tid['tid']] as $mail_opening) {
      $variables['openings'][] = $mail_opening;
    }
    $body = theme('my_module_mail', $variables);
    // Define mail parameters.
    $params = array(
      'subject' =&gt; t('Your Available Openings'),
      'body' =&gt; $body,
    );
    // Send the mail.
    drupal_mail('my-module-mail', 'featured_openings', $entity-&gt;mail, language_default(), $params);


and it works like a charm.