3

こんにちは私は、etryにいくつかの単語が含まれているかどうかをチェックする関数を作成したいと思います。

私のログインスクリプトでは、$_POSTにいくつかのキーワードが含まれているかどうかをチェックする関数を作成したいと思います。

そのため、私は次のように探している単語を含む配列を作成することを考えました。

function value_check($a, $b){
    $haystack = array ($a, $b)
    $words = array ("abc", "def");
    if(strpos($haystack, $words) === true) { 
        return ($a or $b, or both where strpos === true);
    }
    return false;
}

そして私はその関数を次のように呼び出したいと思います:

$valid_value = value_check($a, $b);
if ($valid_value['a'] === true) {
 //do something
}
if ($valid_value['b'] === true) {
 //do something
}

どうもありがとう。

さて、私の質問を明確にするために、コードを短くしたいと思います。使用する代わりに:

...else if ($a === "abc" || $a === "Abc"  ) {
        $errors['a'][] = "text";
}else if ($b === "def" || $a === "Def"  ) {
        $errors['b'][] = "text";
    }  

その配列にその特定の文字列があるかどうかを簡単にチェックする関数を使用しながら、もう少し快適にできると思いました。それが今明らかになることを願っています。ありがとう。

4

1 に答える 1

2

配列で検索するには、このin_arrayを読み取ります。そして、これは Ascherer が提案したように文字列から配列を作成するために爆発します。

function value_check ($haystack) {
    foreach ($words as $element) {
        if (in_array($element,$haystack) {
            $result[] = $element;
        }
    }
    return $result;
}

呼び出し

$somestuff = array($a,$b);
$valid_value = value_check ($somestuff);
foreach ($valid_value as $value) {
    // do something
}
于 2013-02-22T18:33:24.827 に答える