2012-06-23 3 views
0

일부 양식 데이터를 데이터베이스에 추가하기 전에 유효성을 검사하려고하지만이 옵션이 옵션인지 확인해야합니다. 형태로, 단지 방화범과 같이 추가 된 것이 아닙니다. 선택한 양식의 옵션이 배열의 변수와 동일한 지 확인하십시오.

나는 if를 사용하여 다음과 같이 게시 된 값을 비교하려고 :

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

가 매우 긴 코드의 라인과 관리의 어려움을한다 그러나 (다른 27 개 옵션, 3 개 옵션 필드가있다). 그래서 가능한 옵션을 저장하는 배열을 만드는 것에 대해 생각해 보았습니다. 제출 된 옵션은 선택한 옵션이 배열의 항목 중 하나와 일치하는지 확인합니다. 이 동일하다면 내 아이디어

루프를하고 확인하는 것이 었습니다 :

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

나는 오히려하지 않을 거라고하는 선택 필드의 각 (이러한 중 하나를 수행해야 할 것이다 그러나). 그래서 그것을 청소하고 그것을 하나로 만드는 방법이 있습니까? 또한, 나는 codeigniter를 사용하고있다.

답변

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]); 
관련 문제