PHP中容易遺忘卻功能強大的幾個過濾器函式
阿新 • • 發佈:2018-12-11
首先,提前祝大家中秋節快樂,闔家團圓~~~
找個碎片時間(今天提前放假,美滋滋~~~)更新一篇,主要介紹幾個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
非法字元已經被自動過濾了
就這幾個吧,我想說的是人的記憶都是有時間的,經常不用的過段時間就會忘記了,還有很多你就不曾接觸過的函式也許會在你的某段程式碼裡有奇效,但你壓根不知道,所以經常的翻看手冊,函式列表還是很有好處的,包括其他的知識點也是,溫故而知新嘛