views:

71

answers:

3

I have this array:

Array
(
    [page] => Array
        (
            [0] => add
            [1] => edit
            [2] => delete
            [3] => search
        )

    [category] => Array
        (
            [0] => add
            [1] => edit
            [2] => export
        )
   )

And I want it to be displayed as a html table like this:

Page - Category
add - add
edit - edit
delete - export
search
search

I tryed in many ways but didn't work, any solutions?

Thank you

A: 

This assumes that there are more pages than categories, and that they are held in $Array['pages'] and $Array['categories'] variables:

print '<table><tr><td>Page</td><td>Category</td></tr>';
for ($i=0; $i< sizeof($Array['pages']; $i++)
{
 print '<tr><td>';
 print $Array['pages'][$i];
 print '</td><td>';
 if ($i < sizeof($Array['categories']))
    print $Array['categories'][$i];
 print '</td></tr>';
}
print '</table>';

There are more elegant ways, but this should work.

Gnudiff
+1  A: 

Assuming this is PHP and that the alignment is simply based on the index of the array:

<?php
$var['page'] = array('add', 'edit', 'delete', 'search');
$var['category'] = array('add', 'edit', 'export');

$pages = count($var['page']);
$categories = count($var['categories']);
$max = ($pages > $categories ? $pages : $categories);

echo '<table>';
for ($i = 0; $i < $max; $i++)
{
    echo '<tr>';
    echo "<td>{$var['page'][$i]}</td>";
    echo "<td>{$var['category'][$i]}</td>";
    echo '</tr>';
}
echo '</table>';
?>
JYelton
I didn't output the headers for your columns, but you could do that before the loop.
JYelton
Thank you, now its working
Davi
A: 

sorry i didn't tag as PHP... here is the code of my last try

echo "<table>";    
for($i=0;$i<count($array);$i++)
{
    echo "<tr>";
    foreach($array as $key=>$value)
    {
        echo "<td>".$array[$key][$i]."</td>";
    }
    echo "</tr>";
}
echo "</table>";

but anyway, JYelton answer worked pretty well, thank you =D

Davi