【问题标题】:Storing checkbox values in an array将复选框值存储在数组中
【发布时间】:2014-02-11 14:18:40
【问题描述】:

我有一组 3 个复选框,要求用户输入。它们的构造如下:

<span class="playback-format-checkbox-holder">
    <span><b>Playback Format</span><br />
        <label for="dvd">
          <input type="checkbox" name="playback_format[]" value="dvd"  id="dvd" />
        DVD
        </label>
        <label for="bluray">
          <input type="checkbox" name="playback_format[]" value="bluray"  id="bluray" />
        Bluray
        </label>
        <label for="3d">
          <input type="checkbox" name="playback_format[]" value="3d" id="3d"  />
        3D
        </label>
</span>

我正在发布这样的结果

<?php
   $new = array();

   $playback_formats = $_POST['playback_format'];

   if ( isset($playback_formats) ) {
     $new['playback_format'] = $playback_formats;           
   }
?>

如果我选择两个值,则只返回一个。例如,如果我选择 Bluray 和 3d,则数组只存储 Bluray。如果我检查 dvd 和 3d,则只存储 dvd。所以只有第一个选择被存储在回放格式数组中。

我做错了什么?

如果我选中每一行中的一个复选框,它会返回正确的值。播放格式 [] 数组未存储为数组。为什么?

如果我选中第一行中的两个框,并将第二行留空,则第一行获得第一个选择,第二行获得第二个选择。

我不知道发生了什么。这似乎不应该这么难......


这是我在第一组复选框上选中 DVD 和 Bluray,而将第二组复选框留空。

Array ( [0] => Array ( [0] => Array ( [select] =>
Testing Title #1

[url] =>
Description #1

[playback_format] => Array ( [0] => bluray ) ) [1] => Array ( [select] =>
Testing Title #2

[url] =>
Description #2

[playback_format] => Array ( [0] => dvd ) ) ) )
testing a new list

如您所见,它没有存储在正确的数组中。无论出于何种原因,第二个复选框值已存储在第二个数组中,而不是在第一行回放格式数组中。

这快把我逼疯了。

【问题讨论】:

  • 你试过打印$new吗?检查 $new 中有哪些值。我已经按原样测试了上面的代码并且运行良好。
  • 我有,我正在打印出变量,并将变量存储在随机位置。这些值不存储在每行的数组中。
  • 你能显示你的输出吗?因为它在我身边工作得很好。
  • 当然,请查看上方。我把它加到了底部。
  • 这里还是什么都没有,呵呵。如此简单的问题,没有有效的解决方案。谁会想到这么简单的任务会变得如此困难。

标签: php arrays forms


【解决方案1】:

你只是尝试foreach,我认为这会更好

foreach ($playback_format as $3d){}

【讨论】:

  • 我是否将其添加到我发布结果的位置? if ( isset($playback_formats[$i]) ) { foreach ($playback_formats[$i] as $playback) { $new[$i]['playback_format'] = $playback; } }
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
相关资源
最近更新 更多