在strpos中使用数组作为指针

在strpos中使用数组作为指针,第1张

在strpos中使用数组作为指针

function strposa($haystack, $needles=array(), $offset=0) {
$chr = array();
foreach($needles as $needle) {
$res = strpos($haystack, $needle, $offset);
if ($res !== false) $chr[$needle] = $res;
}
if(empty($chr)) return false;
return min($chr);
}


如何使用:

$string = 'Whis string contains word "cheese" and "tea".';$array  = array('burger', 'melon', 'cheese', 'milk');if (strposa($string, $array, 1)) {    echo 'true';} else {    echo 'false';}

true
因为会回来
array
"cheese"

更新: 改进的代码,发现第一个指针时停止:

function strposa($haystack, $needle, $offset=0) {    if(!is_array($needle)) $needle = array($needle);    foreach($needle as $query) {        if(strpos($haystack, $query, $offset) !== false) return true; // stop on first true result    }    return false;}$string = 'Whis string contains word "cheese" and "tea".';$array  = array('burger', 'melon', 'cheese', 'milk');var_dump(strposa($string, $array)); // will return true, since "cheese" has been found


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4940946.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存