给定下面的代码,当我从下拉框[S,M,L]中选择一个值并点击提交时,我得到以下输出之一:
S is equal to
M is equal to
L is equal to
Run Code Online (Sandbox Code Playgroud)
我想输出是沿着的
S is equal to Small
M is equal to Medium
L is equal to Large
Run Code Online (Sandbox Code Playgroud)
是否可以在我的代码中添加一些内容来实现此目的 或者我需要采取不同的方法吗?
<form action="?" method="post">
<?php
$size = array();
$size[] = "";
$size[] = "S";
$size[] = "M";
$size[] = "L";
if(isset($_REQUEST['list'])){
echo $size[(int)$_REQUEST['list']]." is equal to "."<br />";
}
echo '<select name="list">'."\n";
$count = 0;
foreach($size as $size){
echo '<option value="'.$count.'">'.$size.'</option>'."\n";
$count++;
}
echo '</select>';
?>
<input type="submit" value="submit" />
</form>
<form action="?" method="post">
Run Code Online (Sandbox Code Playgroud)
通过此解决方案,您可以重用原始静态数组来填充后回声。还要尽量避免在 html 中使用 \n ,而是使用语义<br>.
<form action="?" method="post">
<?php
$size = array(""=>"","Small"=>"S","Medium"=>"M","Large"=>"L");
if(isset($_REQUEST['list'])){
echo $size[$_REQUEST['list']]." is equal to ".$_REQUEST['list']."<br />";
}
echo "<select name='list'>";
foreach($size as $key=>$value){
echo "<option value='$key'>$value</option>";
}
echo '</select>';
?>
<input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)