首頁  >  文章  >  後端開發  >  NUMERIC和DECIMAL區別 PHP表單驗證的3個函數ISSET、empty、is_numeric的使用方法

NUMERIC和DECIMAL區別 PHP表單驗證的3個函數ISSET、empty、is_numeric的使用方法

WBOY
WBOY原創
2016-07-29 08:46:371821瀏覽

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_print("error_reporting");
$a=NULL;
if(isset($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 '女的';
}
?>




無標題文件




傳有效值 傳空值 傳0值



性別:男 性別:女



清空







以上就介紹了NUMERIC和DECIMAL區別 PHP表單驗證的3個函數ISSET、empty、is_numeric的使用方法,包括了NUMERIC和DECIMAL區別方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn