对于关键词,敏感词,数组的中词汇的的操作有很多,在工作中小编用到了一部分,下面是一些比较常见的情况加以整理
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()
这篇博客详细讲述了两者的效率比较
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: