使用PHP填充<select>标记

时间:2018-06-10 18:50:37

标签: php html for-loop drop-down-menu

我试图通过打印对象数组中的值来动态填充php中的选择标记。 这是我的代码 for($ i = 0; $ i&lt; count($ z); $ i ++) {     打印(&#39;&lt;选项值=&#34;&#39;。$ z [i] - &gt; getId()。&#39;&#34;&gt;&#39;。$ z [ Ⅰ] - &GT; getDescription()&#39;&LT; /选项&GT;&#39); } 数组已填充,实际上如果我尝试仅打印字段我得到一个结果,但在组合框中没有出现

3 个答案:

答案 0 :(得分:1)

i替换为$i

<select name="name">
  <?php
  for($i = 0; $i < count($z); $i++)
  {
    print('<option value ="'.$z[$i]->getId().'">'.$z[$i]->getDescription().'</option>');
  }?>
</select>

答案 1 :(得分:0)

添加选择标记并将i替换为$i

echo "<select>";
for($i = 0; $i < count($z); $i++) {
    echo '<option value ="'.$z[$i]->getId().'">'.$z[$i]->getDescription().'</option>';
}
echo "</select>";

答案 2 :(得分:0)

好的,我通过创建两个支持数组来解决

$ids = array();
$descs = array();
for ($i = 0; $i < count($z); $i++) {
    $ids[$i] = $z[$i]->getId();
    $descs[$i] = $z[$i]->getDescritpion();
}

并使用它们代替对象

for ($i = 0; $i < count($z); $i++) {
     print('<option value ="' . $ids[$i] . '">' . $descs[$i] . '</option>');
}

效率不高,但工作正常。 谢谢你的回答:)