使用html表单循环遍历数组

时间:2015-06-29 20:52:22

标签: php forms

我想遍历表单中的一系列名称,并检查属性is_verified以获取给定ID。

形式:

<div class="input">
    <?php echo form_dropdown(
        "is_email_verified[{$email->id}]", [
            0 => 'no',
            1 => 'yes'
        ], $email->is_verified, 'id="is_'. $email->id . '_verified"'
    ); ?>
</div>

print_r($ this-&gt; input-&gt; post())给出:

"Array ( 
     ...
     [is_email_verified] => Array(
           [123] => 1
      )

假设有多封电子邮件,我正在循环搜索这些电子邮件,检查id(在本例中为123)is_verified bool是否设置为0或1。 / p>

我尝试了这个,但它不起作用:

foreach ($member->emails as $email) {
   if ($this->input->post("is_email_verified[$email->id]") == '1') {

如何遍历表单值并检查数组中的特定ID?

2 个答案:

答案 0 :(得分:2)

您需要从post数据中获取数组,然后通过所需的索引访问数组。

foreach ($member->emails as $email) {
    if ($this->input->post("is_email_verified")[$email->id] == '1') {

答案 1 :(得分:0)

您可以尝试稍微提取您的代码并像这样更改它。这样可以更容易调试。

foreach ($member->emails as $email) {

    $postArray = $this->input->post();
    $emails = $postArray['is_email_verified'];
    $verified = $emails[$email->id];

    if($verified == 1) {

    }
}