2

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 tried in many ways but didn't work, any solutions?

2
  • Is this using PHP? You may want to tag the question as such. Commented May 5, 2010 at 14:57
  • Could you please post what you tried so we can figure out what was wrong? Thanks! Commented May 5, 2010 at 14:57

4 Answers 4

6

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>';
?>
Sign up to request clarification or add additional context in comments.

1 Comment

I didn't output the headers for your columns, but you could do that before the loop.
0

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.

Comments

0

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

Comments

0

I have experience getting a result from a database which is an array. I made a class as a container for the uniform result set which are multiple rows. Just get the property with getter or get access it directly if public.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.