数组并将索引值放到选项菜单中?

时间:2017-08-02 16:45:36

标签: php arrays

我正在使用PHP。

我有一个数组如下。

$wupincat = array('','sword','knife','bow');

我想将此数组放入选项菜单,但我无法指定菜单option value

我的PHP方面是:

$wupincat = array('','sword','knife','bow');

我的HTML方面:

<select name="wcat" id="typeid" class="ps">
  {loop $wupincat $wp}
  <option value="">$wp</option>
  {/loop}
</select>

我的最终结果:

<select name="wcat" id="typeid" class="ps">
  <option value="">sword</option>
  <option value="">knife</option>
  <option value="">bow</option>
</select>

如何指定我的option value ??

这就是我需要的:

<select name="wcat" id="typeid" class="ps">
  <option value="1">sword</option>
  <option value="2">knife</option>
  <option value="3">bow</option>
</select>

如何改进我的编码或错过了什么?

====== 巩固所有答案,我一直在解决我的问题: 最终编码是: 我的PHP方面:

$wupincat = array('','sword','knife','bow');
$arrayfilter = array_filter($wupincat);
foreach($arrayfilter as $key => $value) {
    $crazylist[$key]['title'] = $value;
    $crazylist[$key]['key'] = $key;
}

我的HTML方面:

<select name="wcat" id="typeid" class="ps">
  <option value="0">Choose...</option>
  {loop $crazylist $value}
    <option value="{$value[key]}">{$value[title]}</option>
  {/loop}
</select>

最终输出(成功!)

<select name="wcat" id="typeid" class="ps">
  <option value="0">Choose...</option>
  <option value="1">sword</option>
  <option value="2">knife</option>
  <option value="3">bow</option>
</select>

4 个答案:

答案 0 :(得分:2)

尝试这样,

<select name="wcat" id="typeid" class="ps">
 <?php 
  $wupincat = array('','sword','knife','bow'); 
  foreach($wupincat as $cc => $name) {
     if($name !=='')
     echo '<option value="' . $cc . '">' . $name . '</option>';
  }
 ?>
</select>

答案 1 :(得分:2)

在您的选择:

之间添加此循环
<select name="wcat" id="typeid" class="ps">
<?php 
  foreach ($wupincat as $index => $item) {
    if (empty($item)) { continue; }
    echo '<option value="' . $index . '">' . $item . '</option>';
  } 
?>
</select>

答案 2 :(得分:2)

您似乎正在使用模板引擎。所以,我们需要知道模板引擎是什么。您可以使用其他人提供答案的vanila PHP代码,也可以使用模板引擎正确的代码格式。

可能是这样的:

<select name="wcat" id="typeid" class="ps">
{loop $wupincat $key => $wp}
  <option value="$key">$wp</option>
{/loop}
</select>

同样,为了提供确切的代码,我们需要知道模板引擎

答案 3 :(得分:1)

使用vanilla PHP可以使用以下内容:

<select name="wcat" id="typeid" class="ps">
<?php ($wupincat as $index => $wp) {
    echo '<option value="' . $index . '">' . $wp . '</option>';
?>
</select>

我不确定你使用的是什么模板框架,但这可能对你有用吗?

<select name="wcat" id="typeid" class="ps">
{loop $wupincat $index => $wp}
    <option value="$index">$wp</option>
{/loop}
</select>