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