0

我正在使用 PHP 为 HTML Web 表单生成选择菜单,如下所示:

$foods = array( 
    '1' => 'fruit',
    '2' => 'pizza',
    '3' => 'bread',
    '4' => 'nuts',
);

这是 HTML 选择输入的代码:

<select id="food" name="food">
    <option value="*">- No Selection - </option>
    <?php 
        $output = "";
        $selected = false;

        foreach($foods as $food => $value) {
            $food = htmlspecialchars($food);
            $output .= "<option value=\"$food\"";
            if ($food == $pcSymptomSearch) {
                $selected = true;
                $output .= " selected";
            }
            $output .= ">$value</option>";
        }
        echo $output;
    ?>
</select>

在 Safari/Mac OS X 中查看源代码时,我注意到 PHP 生成的选择输入出现在这样的一行上,这使得读取/调试有点棘手:

<option value="1">fruit</option><option value="2">pizza</option><option value="3">bread</option><option value="4">nuts</option>                     </select>

有没有办法让每个选项出现在一行上,如下所示:

    <option value="1">fruit</option>
    <option value="2">pizza</option>
    <option value="3">bread</option>
    <option value="4">nuts</option>                     
</select>
4

2 回答 2

2

您所要做的就是在构建用于输出的字符串时,在\n每个适合换行符的地方添加一个(换行符)。

 $output .= ">$value</option>\n";
于 2013-05-26T15:23:31.857 回答
1

代替:

$output .= ">$value</option>";

$output .= ">$value</option>\n";
于 2013-05-26T15:23:04.430 回答