Php I';我正在重复我的strpos关键字检查,但我没有';我不想

Php I';我正在重复我的strpos关键字检查,但我没有';我不想,php,arrays,strpos,Php,Arrays,Strpos,我正在从关键字($keywords)列表中提取多个值($arr)。稍后,我将使用strpos检查文档中是否存在该关键字 我可以复制整个代码并逐个手动添加每个$arr,比如:strpos($element,$arr[0]);STRPO($element,$arr[1]);strpos($element,$arr[2]) 有谁能帮我把它设置好,这样我就不用走很长的路了。假设我总共需要20美元的arr支票。这将是$arr[0]到$arr[19] <?php $str= "$keywords";

我正在从关键字($keywords)列表中提取多个值($arr)。稍后,我将使用strpos检查文档中是否存在该关键字

我可以复制整个代码并逐个手动添加每个$arr,比如:strpos($element,$arr[0]);STRPO($element,$arr[1]);strpos($element,$arr[2])

有谁能帮我把它设置好,这样我就不用走很长的路了。假设我总共需要20美元的arr支票。这将是$arr[0]到$arr[19]

<?php

$str= "$keywords";
$arr=explode(",",$str);

// print_r($arr);

$data = file($_SERVER['DOCUMENT_ROOT'].'/posts.txt');

$data=str_replace(array('<', '>', '\\', '/', '='), "", $data);

foreach($data as $element) 

{

$element = trim($element);

$check_keyword = strpos($element,$arr[0]);
if ($check_keyword !== false) {
$pieces = explode("|", $element);   

echo "

" . $pieces[0] . "  

<a href=/blog/" . $pieces[2] . "/" . $pieces[3] . "/ ><b><font color=#21b5ec>" . $pieces[4] . "</font></b></a>  <br>

";    

}

else {
echo "";
}

}

?>

如果要根据
$element
检查
$arr
中的每个值,那么最简单的方法是使用

如果要测试
$arr
中的每个值是否在
$element
中,可以使用以下方法:

$check_keyword = array_reduce($arr, function ($carry, $item) use($element) {
        return $carry && (strpos($element, $item) !== false);
    }, true);
$check_keyword = array_reduce($arr, function ($carry, $item) use($element) {
        return $carry || (strpos($element, $item) !== false);
    }, false);
如果只想检查
$arr
中的任何值是否在
$element
中,可以使用以下方法:

$check_keyword = array_reduce($arr, function ($carry, $item) use($element) {
        return $carry && (strpos($element, $item) !== false);
    }, true);
$check_keyword = array_reduce($arr, function ($carry, $item) use($element) {
        return $carry || (strpos($element, $item) !== false);
    }, false);

我不知道我是否理解,代码不完整。你为什么不使用一个函数?你是说strpos\u数组函数?我试过了,但我想我做错了什么。我发布了一个答案,看一看。你想检查$arr中的任何值是否在$element中,或者它们是否都在$element中吗?也许
在数组中
可以帮上忙吗?它正在工作。多谢各位。我需要代码的第二个(任何值)版本。