0

我正在尝试在将某些表单数据添加到数据库之前对其进行验证,但是我需要验证该选项是表单中的一个选项,而不仅仅是添加了 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。

4

1 回答 1

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]);
于 2012-06-23T06:36:38.597 回答