循环复选框-PHP

时间:2013-04-06 17:51:36

标签: php arrays codeigniter checkbox foreach

我有一个包含大约50个输入复选框的页面,其中包含

name="form[]"

我需要我的php脚本能够循环遍历所有复选框,并且检查和提交哪些复选框我需要将其放入变量中,以便我可以存储给定的哪个表单。

这是我的循环:

if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
    foreach ($this->input->post('form') as $forms) { // If above ^^^ is true loop through form[] 
        $givenforms = ', '.$forms.''; // What ever form[] is in the array assign them to the givenforms variable
    }
    $comments = 'This student was given'.$givenforms.''; // The comment I want to store in the database
}

这只适用于一种形式(复选框)。如果由于某种原因我的客户需要给学生所有50个表格我想要$ comment ='这个学生被给了......................... ..........................(所有50种形式)'

非常感谢任何链接或提示。

2 个答案:

答案 0 :(得分:4)

您使用=覆盖每次迭代中的值而不是连接.=,但我相信您可以将implode用于您的用例:

if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
    $givenforms = implode(', ', $this->input->post('form'));
    $comments = 'This student was given'.$givenforms;
}

答案 1 :(得分:1)

$givenforms = ', '.$forms.'';是错误的,因为每次循环都会覆盖前一个 使用.=(连接运算符)代替=

还要确保在使用$givenforms = "";连接之前在循环外使用$givenforms .= ...........设置变量

如果你不这样做,你会收到警告(或通知,不确定)。