2013-02-22 55 views
3

你好我想创建一个函数来检查一个etry是否包含一些单词。函数来检查数组strpos并返回一个数组

我的登录脚本我想创建一个函数,检查$ _POST是否有一些关键字。

therfor我曾经想过要创建一个包含我正在寻找这样的话数组:

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

非常感谢:

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; 
} 

,我想通过调用该函数。

好的,为了澄清我的问题,我想缩短我的代码。而不是使用:

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

,我想我可以同时使用,检查容易,如果有数组中的一个特定字符串的函数做到这一点更舒服一点。希望现在会清楚。谢谢。

+0

在想同样的事情... – Manatax 2013-02-22 18:31:55

+0

检查'strpos'手册,它没有考虑数组作为参数。 – jeroen 2013-02-22 18:32:02

+0

@MarkoD显然他不知道该怎么做,只需要一些帮助 – Peter 2013-02-22 18:32:33

回答

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 
} 
+1

that'explode('',$ string)'可能会有帮助 – Ascherer 2013-02-22 18:34:00

+0

虽然是一个很好的一般性建议,但这并不能解决OP的* exact *需求。 – 2013-02-22 18:34:16

+0

@JasonMcCreary嗯......没有具体的问题......更像是“我不知道该怎么做”......因此,指导他/她如何去做的手册的链接是最准确的答案 – Manatax 2013-02-22 18:37:46