敏感词,关键词过滤与数组关联等操作

对于关键词,敏感词,数组的中词汇的的操作有很多,在工作中小编用到了一部分,下面是一些比较常见的情况加以整理

NO1:判断需要的词汇

有时候我们在一些数据对接的时候会强制加些字段判断提交词:

Ex:

$arr = ['123456','654321,'111111','222222']

/*我们不希望出现此类的密码*/

if(in_array($post,$arr){echo ‘密码过于简单’;}

这种做法与正则比较虽然并不高大上但是却更方便我们处理需求,

NO2:过滤敏感词

substr_count()函数

$count=substr_count($post,$arr);

if($count>0) {echo '存在敏感词';break;}

NO3:去除数组中重复的词

array_unique()函数是个特别好的方法 

array_filp(array_filp(----)) 的效率会优于array_unique()

 php 数组元素快速去重 - 傲雪星枫 - 博客频道 - CSDN.NET

这篇博客详细讲述了两者的效率比较

NO4:二维数组去重

function array_unique_fb($array2D){

          foreach ($array2D as $v){

          $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串

          $temp[] = $v;}

         $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组

         foreach ($temp as $k => $v){

           $temp[$k] = explode(",",$v); //再将拆开的数组重新组装}

             return $temp;}

function assoc_unique(&$arr, $key){

$rAr=array();

for($i=0;$i{

if(!isset($rAr[$arr[$i][$key]])){

$rAr[$arr[$i][$key]]=$arr[$i];}

}

$arr=array_values($rAr);

}

assoc_unique(&$arr,'name');

print_r($arr);

NO5:对数组中的数据进行统一的操作

array_map()

functioncube($n){

return($n*$n*$n);}

$a= array(1,2,3,4,5);

$b=array_map("cube",$a);

print_r($b);

NO6:数组操作常用的函数

数组元素的排序

一:正向排序: sort()、asort()和 ksort(),邮政排序当然也有相对应的反向排序

sort:对数组内的内容排序 ---第二个参数可以设置不同的参数指定排序

asort: 对数组中的数据进行排序并保持索引关系

natsort:对数组进行自然排序的同时保持索引关系

ksort:对数组按照键值排序

二:反向排序: rsort()、arsort()和 krsort()

rsort:对数组进行逆向排序

arsort:逆向排序并保持索引关系

krsort:按照键值进行逆向排序

array_unshift()函数将新元素添加到数组头,array_push()函数将每个新元素添加到数组 的末尾。

array_shift()删除数组头第一个元素,与其相反的函数是 array_pop(),删除并返回数组末 尾的一个元素。

array_rand()返回数组中的一个或多个键。

函数shuffle()将数组个元素进 行随机排序。

函数 array_reverse()给出一个原来数组的反向排序

删除

array_unique删除数组中的重复值:

注:array_flip 连续使用两次同样可以达到去重的效果

array_values:重新分配数组的键值

array_map:分配给数组中的每个元素回调方法

array_flip将数组中key和value交换:

array_splice()删除数组成员 :

array_filter()删除空数组包括空值 null值和false:

你可能感兴趣的:(敏感词,关键词过滤与数组关联等操作)