当前位置:首页 > PHP教程 > php数组 > 列表

php数组查找函数总结

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-26 17:26:13 浏览: 评论:0 

这篇文章主要介绍了php数组查找函数,总结了三个常用的数组查找函数,可用于关键词过滤,是非常实用的技巧,需要的朋友可以参考下

本文实例总结了php数组查找函数。分享给大家供大家参考。具体如下:

这里提供三种方法来判断一个字符串中是否包括我们定义好的词,这比较适合于在留言,评论等地址进行关键词过滤,实例代码如下:

  1. $crud = array('中国|||我国|||大地', 'kelon|||lerke|||sb', 'sesscxx'); 
  2. $crud = join('|',$crud); 
  3. $crud = str_replace('|||', '|', $crud); 
  4. $pat  = "/({$crud})/i"; 
  5. $txt = '我知道中国你是sdfex谁!!'; 
  6. preg_match/*_all*/($pat, $txt, $matches); 
  7. var_dump($matches); 

方法二,代码如下:

  1. function checkcrud($str, $crud) 
  2. { 
  3.     if(is_array($crud) && !emptyempty($crud)) 
  4.     { 
  5.         foreach($crud as $value) 
  6.         { 
  7.             if(strpos($value, '|||') !== false) 
  8.             { 
  9.                 $cruds = explode('|||', $value); 
  10.                 $num = count($cruds); 
  11.                 $check = 0; 
  12.                 foreach($cruds as $val) 
  13.                 { 
  14.                     if(strpos($str, $val) !== false) 
  15.                     { 
  16.                         $check++; 
  17.                     } 
  18.                 } 
  19.                 if($check == $num) 
  20.                 { 
  21.                     return true; 
  22.                 } 
  23.             } 
  24.             else 
  25.             { 
  26.                 if(strpos($str, $value) !== false) 
  27.                 { 
  28.                     return true; 
  29.                 } 
  30.             } 
  31.         } 
  32.         return false; 
  33.     } 
  34. } 
  35. $crud = array('中国|||我国|||大地', 'kelon|||lerke|||ssxb', 'aaa'); 
  36. $test1 = '我是中国人.我国人很多.大地上全是人.-__-!!好xx的造句.'; 
  37.  
  38. var_dump(checkcrud($test1, $crud)); 

方法三,代码如下:

  1. function lktest($v,$keyword){ 
  2. foreach ($v as $k){ 
  3. if (strpos($k,"|||")!==false){ 
  4.     $kelon=explode("|||",$k); 
  5.     //求数组最大值 
  6.     $b=count($kelon); 
  7.     foreach($kelon as $t){ 
  8.         //echo $t.'<br>'; 
  9.         if (preg_match('/'.$t.'/i',$keyword)){  
  10.             //echo "敏感关键字"; 
  11.             $a=$a+1;            
  12.         } 
  13.     else{     
  14.     $a=''; 
  15.     } 
  16.              
  17.     } 
  18.     //如果数组最大值跟$a相等时,则所有|||关键字都出现了 
  19.     if ($a==$b){ 
  20.         echo "敏感关键字";     
  21.         } //www.phpfensi.com 
  22.    } 
  23. elseif(preg_match('/'.$k.'/i',$keyword)){ 
  24. echo "敏感关键字"; 
  25.     }  
  26. } 
  27. } 

希望本文所述对大家的PHP程序设计有所帮助。

Tags: php数组查找函数

分享到: