我有以下php代码嵌入在一个表单(目的基本上是显示和发布类似于这个"城市(国家)"):
<select name="city">
<option selected value=""></option>
<?php
foreach ($result_array as $rowarray){
echo '<option value='.$rowarray[1].' ('.$rowarray[0].'>'.$rowarray[1].' ('.$rowarray[0].')</option>';
}
?>
有趣的是,当我发布这个表单时,这是发送到$_POST变量的内容:
array (size=7)
'city' => string 'Abu' (length=3)
由于某种原因,城市名称中空格之后的所有内容都没有被连接起来。事情是这样的,当我像这样编码时:
echo '<option>'.$rowarray[1].' ('.$rowarray[0].')</option>';
$_POST:
array (size=7)
'city' => string 'Abu Simbel (Egypt)' (length=18)
因此,当我将它放在option元素的"value"属性中时,基本上相同的连接代码不起作用。我遗漏了什么?
添加:当我像这样连接时也会发生同样的事情:
'<option value='.$rowarray[1].'!'.$rowarray[0].'>'
所以它不是由于括号前的空格。
您需要做的是将您的值包含在"
中(并关闭括号):
echo '<option value="'.$rowarray[1].' ('.$rowarray[0].')">'.$rowarray[1].' ('.$rowarray[0].')</option>';
^right here ^ and here