I have this array:
Array
(
[page] => Array
(
[0] => add
[1] => edit
[2] => delete
[3] => search
)
[category] => Array
(
[0] => ad开发者_高级运维d
[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?
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>';
?>
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.
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
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.
精彩评论