1. 程式人生 > >PHP中容易遺忘卻功能強大的幾個過濾器函式

PHP中容易遺忘卻功能強大的幾個過濾器函式

首先,提前祝大家中秋節快樂,闔家團圓~~~

找個碎片時間(今天提前放假,美滋滋~~~)更新一篇,主要介紹幾個PHP的過濾器函式

1.filter_has_var()

filter_has_var() 函式檢查是否存在指定輸入型別的變數。

若成功,則返回 true,否則返回 false。

<?php
	if(!filter_has_var(INPUT_GET, "name"))
	 {
		 echo("Input type does not exist");
	 }
	else
	 {
		 echo("Input type exists");
	 }

這樣的話if(isset($_GET[“name”])

這種類似判斷就可以這麼做了 直接返回true或者false
當然還有很多用法了(自己看名字應該就知道什麼用法了):

INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV

(CSDN這波更新很不錯,程式碼終於可以自己選擇樣式了,好看多了)

2.filter_var()

filter_var() 函式通過指定的過濾器過濾變數。

如果成功,則返回已過濾的資料,如果失敗,則返回 false。
以上的是官方的解釋,我自己應用的一個地方就是郵箱驗證場景,不需要再寫各種正則匹配了,像這樣:

<?php
	if(!filter_var("[email protected]
"
, FILTER_VALIDATE_EMAIL)) { echo("E-mail is not valid"); } else { echo("E-mail is valid"); }

第二個引數我另外舉例幾個,大家參考下:

FILTER_VALIDATE_URL 把值作為 URL 來驗證
FILTER_VALIDATE_EMAIL 把值作為 e-mail 來驗證,上面舉例了
FILTER_VALIDATE_IP 把值作為 IP 地址來驗證
FILTER_VALIDATE_FLOAT 以浮點數驗證值
...

還有很多,就不一一舉例了,需要的可以翻閱手冊檢視一下。

3.FILTER_SANITIZE_STRING過濾器

過濾器去除或編碼不需要的字元,刪除那些對應用程式有潛在危害的資料。它用於去除標籤以及刪除或編碼不需要的字元。

<?php
$var="<b>test<b>";

var_dump(filter_var($var, FILTER_SANITIZE_STRING));

看結果吧
test標籤已經被去除

4.FILTER_SANITIZE_NUMBER_INT過濾器

過濾器刪除數字中所有非法的字元。

<?php
$number="5-2+3test";
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_INT));

看結果吧
5-2+3非法字元已經被自動過濾了

就這幾個吧,我想說的是人的記憶都是有時間的,經常不用的過段時間就會忘記了,還有很多你就不曾接觸過的函式也許會在你的某段程式碼裡有奇效,但你壓根不知道,所以經常的翻看手冊,函式列表還是很有好處的,包括其他的知識點也是,溫故而知新嘛