检查所选表单中的选项是否与数组中的变量相同

时间:2012-06-23 06:34:14

标签: php codeigniter

我正在尝试在将某些表单数据添加到数据库之前对其进行验证,但是我需要验证该选项是否为表单中的选项,而不仅仅是添加了类似Firebug的选项。

我尝试使用if并比较发布的值,如下所示:(还有27个选项,还有3个选项字段)

if($data['selection'] == 'some_option' || $data['selection'] == 'some_option2') {

然而,它会产生极长的代码行并且难以管理。所以我考虑创建一个存储可能选项的数组,然后在提交时,检查所选选项是否与数组中的一个条目匹配。

我的一个想法是做一个循环并检查它是否相等:

for($i = 1; $i < sizeof($options[$currentselection]); ++$i) {
    if($option[$i] == $data[$currentselection]) {
        return true;
    } else {
        return false;
    }
}

但是我必须为每个选择字段(我宁愿不这样做)做其中一个。那么有没有办法清理它并将它们整合在一起?另外,我正在使用codeigniter。

1 个答案:

答案 0 :(得分:1)

一种简单的方法是使用in_array函数

$values=Array('op1','op2',...);
return in_array($data['selection'],$values);

或者你可以这样做:

$values=Array(
  'selection'=>Array('op1','op2'),
  'another_field'=>Array('op3','op4'),
);
return in_array($data[$field],$values[$field]);