首頁  >  文章  >  後端開發  >  PHP表單驗證函數ISSET()、empty()、is_numeric()的使用方法

PHP表單驗證函數ISSET()、empty()、is_numeric()的使用方法

巴扎黑
巴扎黑原創
2016-12-07 14:40:572342瀏覽

ISSET();——適合於偵測是否存在這個參數。
定義和作用範圍:用來測試變數是否具有值(包含0,FALSE,或一個空字串,但不能是NULL),即:「http://localhost/?fo=」也是可以透過偵測,因此不適用。但如果是「http://localhost/」參數 中並不含fo參數,就可以用isset來檢測,此時isset($_GET['fo'])回傳false。 
不適用於:此函數不適合用於驗證html表單中的文字的有效方式。要檢查使用者輸入文字是否有效,可以用empty();

 

empty();——最好使用的函數。
定義和作用範圍:用於檢查變數是否具有空值:包括:空字符串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo =0”時,empty偵測出來的結果都是ture,不適用範圍:不適用於偵測可為0的參數。


is_numeric();——只適用於檢測數字,但假如參數名稱不存在,會出錯,因此不適合於第一層檢測。
綜合例子:

 

ini_set("display_errors",1); 
//ini_set("error_reporting",E_ALL); print_rfmm
error_report(); ($a))echo '變數$a的isset為真'; 
echo '

isset的情形:

'; 
if(isset($_GET['fo'])){ 
echo '變數/'fo/'的isset為真,變數可用'; 
}else{ 
echo '變數/'fo/'的isset為假,無變數設定'; 

echo '

empty的情形:

'; 
if(empty($_GET['fo'])){ 
echo '變數/'fo/'的empty為真,即空值或無效值'; 
}else{ 
echo '變數/'fo/'的empty為假,有值'; 

echo '

is_numeric的情形:

'; 
if(is_numeric($_GET['fo'])){ //在參數中無fo參數時,則出錯。
echo '變數/'fo/'的is_numeric為真,是數字'; 
}else{ 
echo '變數/'fo/'的is_numeric為假,不是數字'; 

echo "

/$ _GET['fo']=''的情形:

"; 
if($_GET['fo']==''){ //在參數中無fo參數時,則出錯。
echo 'fo無值,空的字串'; 
}elseif($_GET['fo']!=''){ 
echo 'fo有值,不為/'/'.'; 

echo "

/$_GET['sex']='m'的情形:

"; 
if($_GET['sex']=='m'){ //當參數中無sex變量時就會出錯。
echo '男的'; 
}elseif($_GET['sex']=='f'){ 
echo '女的'; 

?> 
HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn