-1

对不起,如果这太明显了,但我正在学习如何处理数组,我完全被卡住了,不能继续:(

具有以下数组:

$myarray: array =
0:array=
 0:string=-
 1:string=-
1:array=
 0:string=AA1
 1:string=Book title 1
 2:string=Author 1
2:array=
 0:string=AA2 
 1:string=Book title 2
 2:string=Author2
.
.

我需要在 html 表单中构建一个选择,以这种方式填充它:

<select id="bookTitles">
<option value="-" selected="selected">Select..</option>
<option value="AA1"> Book title 1</option> 
<option value="AA2"> Book title 2</option> 
.
.
   </select>

我怎样才能循环$myarray这样做?

万分感谢!

4

2 回答 2

1

试试这个:

<select name = "theSelect">
<option value = "-" selected = "selected">Select...</option>
<?php
    array_shift($myarray); // take off the first element that is empty
    foreach( $myarray as $k => $v) {
        echo('<option value = "' . $v[0] . '">' . $v[1] . '</option>');
    }
?>
</select>
于 2012-06-06T15:21:04.523 回答
0
<select id="bookTitles">
    <option value="-" selected="selected">Select..</option>
    <?php foreach ($myarray as $value) : ?>
        <option value="<?php echo $value[0]; ?>"> <?php echo $value[1]; ?></option> 
    <?php endforeach; ?>
</select>

几点注意事项:

  • 我正在使用 foreach() 循环遍历数组
  • 我使用:andendforeach;而不是{and}因为它在输出 HTML 时通常看起来更干净
  • 我在循环之前添加了默认选项,因为...好吧,为什么不呢?
  • 或者,您可以使用短标签,如下所示:(<?=$value[0]?>此处阅读更多信息
于 2012-06-06T15:22:37.683 回答