Trying return array as page content I'm working on a module in Drupal 7.  I have three different forms set up with hook_form.  I would like to display the three forms on one page along with some html to organize the forms and apply some css to change the look a little bit.  What I have right now is:
  function floormap_setup_page() {
    $info[0] = '&lt;div id=&quot;floormap_setup&quot;&gt;';
    
    $info[0] .= '&lt;div id=&quot;select_floormap&quot;&gt;';
    $info[0] .= '&lt;ul&gt;';
    $floormap_options = get_floormap_options();
    $floormap_list = '';
    foreach ($floormap_options['name'] as $key =&gt; $value){ 
        $span_delete = '&lt;span class=&quot;delete&quot;&gt;&lt;a href=&quot;#&quot;&gt; ' . t('Remove Floor Map') . ' &lt;/a&gt;&lt;/span&gt;';
        $span_default = '&lt;span class=&quot;default&quot;&gt;&lt;a href=&quot;#&quot;&gt; ' . t('Make Default') . ' &lt;/a&gt;&lt;/span&gt;';
        
        $floormap_list .= '&lt;li&gt;' . $value . $span_default . $span_delete . '&lt;/li&gt;';
        }
    $info[0] .= $floormap_list;
    $info[0] .= '&lt;/ul&gt;';
    $info[0] .= '&lt;div&gt;&lt;!--select_floormap--&gt;';
    
    $info[0] .= '&lt;div id=&quot;label_cameras&quot;&gt;';
    $info[1] = drupal_get_form('setup_cameras_form');
    $info[2] = '&lt;/div&gt;&lt;!--label_cameras--&gt;';
    
    $info[2] .= '&lt;div id=&quot;set_expectations&quot;&gt;';
    $info[3] = drupal_get_form('set_expectations_form');
    $info[4] = '&lt;/div&gt;&lt;!--set_expectations--&gt;';
    
    $info[4] .= '&lt;div id=&quot;new_floormap&quot;&gt;';
    $info[4] .= '&lt;/div&gt;&lt;!--new_floormap--&gt;';
    
    $info[4] .= '&lt;/div&gt;&lt;!--floormap_setup--&gt;';
  return $info;
}

Doing this displays the page how I want it, the only problem is that I get a bunch of errors along with it..
The errors look like this:

Warning: Illegal string offset '#children' in drupal_render() (line
5887 of /var/www/app.local.nucloudglobal.com/includes/common.inc).
Warning: Illegal string offset '#children' in drupal_render() (line
5897 of /var/www/app.local.nucloudglobal.com/includes/common.inc).
Warning: Illegal string offset '#children' in drupal_render() (line
5935 of /var/www/app.local.nucloudglobal.com/includes/common.inc).
Warning: Illegal string offset '#printed' in drupal_render() (line
5942 of /var/www/app.local.nucloudglobal.com/includes/common.inc).

The entire set of errors repeats for each item in the $info array.
Render arrays look like this:

$build = array(
  '#prefix' =&gt; '&lt;div id="floormap_setup"&gt;',
  '#suffix' =&gt; '&lt;/div&gt;',
  'select_floormap' =&gt; array(
    '#markup' =&gt; '&lt;p&gt;Markup for the first bit&lt;/p&gt;',
  ),
  // drupal_get_form() returns a render array.
  'setup_cameras_form' =&gt; drupal_get_form('setup_cameras_form') + array(
    '#prefix' =&gt; '&lt;div id="label_cameras"&gt;',
    '#suffix' =&gt; '&lt;/div&gt;',
  ),
  'expectation_form' =&gt; drupal_get_form('set_expectations_form') + array(
    '#prefix' =&gt; '&lt;div id="set_expectations"&gt;',
    '#suffix' =&gt; '&lt;/div&gt;',
  ),
  'new_floormap' =&gt; array(
    '#markup' =&gt; '&lt;div id="new_floormap"&gt;&lt;/div&gt;',
  ),
);


See the render array docs and What are &quot;#&quot; properties? for a bit more explanation.