假设我们有一个数组:
$aa = array('student1'=>array(1,2,3),'student2'=>array(3,2,4),'student3'=>array(4,3,5));
我想有一个像下面这样的HTML输出:
<ul>
<li>student1
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</li>
<li>student2
<ul>
<li>3</li>
<li>2</li>
<li>4</li>
</ul>
</li>
<li>student3
<ul>
<li>4</li>
<li>3</li>
<li>5</li>
</ul>
</li>
</ul>
但我所能做的就是
<ul>
<li>
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</li>
<li>
<ul>
<li>3</li>
<li>2</li>
<li>4</li>
</ul>
</li>
<li>
<ul>
<li>4</li>
<li>3</li>
<li>5</li>
</ul>
</li>
</ul>
换句话说,我不能为每个内部数组打印键。怎么做呢?
我写了这样的代码:
echo '<ul>';
foreach($aa as $a)
{
echo '<li>' . /*Here it should be written the current student name*/ '<ul>';
foreach($a as $b)
{
echo '<li>' . $b . '</li>';
}
echo '</ul></li>';
}
echo '</ul>';
<ul>
<?php
foreach ($aa as $name => $values) {
echo "<li>$name'n";
echo "<ul>'n";
foreach ($values as $value) {
echo "<li>$value</li>'n";
}
echo "</ul>'n";
echo "</li>'n";
}
?>
</ul>
像这样打印数组:
echo "<pre>";
print_r($array);
echo "</pre>";
这样可以看到数组的内部结构。
那么你可以这样列出:
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "'$a[$k] => $v.'n";
}