내가 최대 $ stringfilter50정리 매우 긴 문장
내가 다른 문자열 $ reporteremail이 내가 조건문 이에을 만들고 싶어에서 $ stringfilter1 $ stringfilter2 등 모든 방법라는 문자열의 아주 긴 목록이있는 경우 $ reporteremail에 $ stringfilter 문자열이 있으면 일부 코드가 실행됩니다. 그 순간 내 코드는 다음과 같이 나타납니다.
if (stripos($reporteremail, $stringfilter1) !== false || stripos($reporteremail, $stringfilter2) !== false || stripos($reporteremail, $stringfilter3) !== false [...]) {
runcode();
}
이것은 매우 길지만. 나는 여기 그것을 짧게 자른다.
더 깨끗하고 효율적인 방법이 있는지 궁금합니다.
편집 : 버그 추적기 용 플러그인을 작성 중입니다. 문자열은 텍스트 상자의 다른 페이지에 입력됩니다. 이 페이지에서 다음과 같은 함수를 실행하여이 페이지에 액세스합니다.
$t_filter = plugin_config_get('filter1');
$stringfilter1 = string_attribute($t_filter1);
배열을 반복하는 것이 최선의 방법 일 것입니다. 50 번에 걸쳐 코드 조각을 쓰지 않아도 배열 끝에 각 새 문자열을 삽입하려면 어떻게해야합니까?
여기서'$ stringfilterX' 변수는 모두 어디에서 오는가? –
이 것이 https://codereview.stackexchange.com/에 더 좋을까요? – ThisGuyHasTwoThumbs
당신은 $ stringfilterX vars를 다시 작성하고이를 반복 가능하도록 배열로 변환해야한다고 생각해야합니다. $$ 연산자를 사용하고 for 문을 1에서 N ($ pattern = "stringfilter"; for ($ i = 1; $ i <= N; $ i ++))으로 만드는 것에 의해 vars뿐만 아니라 vars를 반복 할 수있는 방법이 있습니다. {$ variable_name = $ pattern. $ i; print "변수의 값". $ variable_name. ":". $$ variable_name;}) 그러나 그것은 절대적으로 공포스럽고 쓸 수있는 가장 코드가 큽니다. –