php 如果判断网址或者字符串中是否包含数组中的某个值?

php 如果判断网址或者字符串中是否包含数组中的某个值?例如如下代码,当把数组中的'安卓'放到第一位置时(也就是放在字符‘过滤’前面)可以正常返回值为1,但是当把数组中的'安卓'放到第二或者后面的位置时,返回值就位0了,但是想要的结果是只要数组中含有‘安卓’这个值就返回1,该如何修改代码?

<?php
header('Content-Type: text/html; charset=UTF-8');
$arr=array('过滤','安卓','小程序');//如果是字符串,需要先打散成数组再判断
$str='安卓手机';
foreach($arr as $key){
    if(strstr($str,$key)){//列表中包含过滤的新内容.如果str来自其它网页,需要保证编码相同.
        echo 1;
        exit;
    }else{
        echo 0;
        exit;
    }
}
?>
阅读 3.3k
3 个回答
<?php
function array_in_str($array, $str){
    foreach($array as $key){
        if(strpos($str,$key) !== false){
            return 1;
        }
    }
    return 0;
}

$arr=array('过滤','安卓','小程序');
$str='安卓手机';

echo array_in_str($arr, $str);
$arr=array('过滤','安卓','小程序');
$str='安卓手机';
echo str_replace($arr,'',$str) != $str ? 1 : 0;
$arr = [];
$str = '';
$result = 0;
foreach($arr as $item){
    if(strpos($str,$item)!==false){
        $result = 1;
        break;
    }
}

echo $result;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题