函数来检查数组strpos并返回一个数组

时间:2013-02-22 18:28:37

标签: php arrays function strpos

你好我想创建一个函数来检查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";
    }  

我认为在使用一个能够轻松检查该数组中是否存在特定字符串的函数时,我可以做得更舒服一点。希望现在能够清楚。感谢。

1 个答案:

答案 0 :(得分:2)

阅读此in_array以进行数组搜索。这个explode用于从像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
}