敏感詞,關鍵詞過濾與數組關聯等操作

對于關鍵詞,敏感詞,數組的中詞匯的的操作有很多,在工作中小編用到了一部分,下面是一些比較常見的情況加以整理

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:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容