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();——只适用于检测数字,但假如参数名不存在,会出错,因此不适合于第一层检测。
综合示例:
<BR><?php <BR>ini_set("display_errors",1); <BR>//ini_set("error_reporting",E_ALL); print_r <BR>error_reporting(E_ALL); <BR>$a=NULL; <BR>if(isset($a))echo '变量$a的i<i style="color:transparent">本¥文来源gaodai$ma#com搞$代*码*网(</i><strong>搞代gaodaima码</strong>sset为真'; <BR>echo '<h2>isset的情形:</h2>'; <BR>if(isset($_GET['fo'])){ <BR>echo '变量/'fo/'的isset为真,变量可用'; <BR>}else{ <BR>echo '变量/'fo/'的isset为假,无变量设置'; <BR>} <BR>echo '<h2>empty的情形:</h2>'; <BR>if(empty($_GET['fo'])){ <BR>echo '变量/'fo/'的empty为真,即空值或无效值'; <BR>}else{ <BR>echo '变量/'fo/'的empty为假,有值'; <BR>} <BR>echo '<h2>is_numeric的情形:</h2>'; <BR>if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。 <BR>echo '变量/'fo/'的is_numeric为真,是数字'; <BR>}else{ <BR>echo '变量/'fo/'的is_numeric为假,不是数字'; <BR>} <BR>echo "<h2>/$_GET['fo']=''的情形:</h2>"; <BR>if($_GET['fo']==''){ //在参数中无fo参数时,则出错。 <BR>echo 'fo无值,空的字符串'; <BR>}elseif($_GET['fo']!=''){ <BR>echo 'fo有值,不为/'/'.'; <BR>} <BR>echo "<h2>/$_GET['sex']='m'的情形:</h2>"; <BR>if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。 <BR>echo '男的'; <BR>}elseif($_GET['sex']=='f'){ <BR>echo '女的'; <BR>} <BR>?> <BR> <BR> <BR> <BR><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <BR><title>无标题文档</title> <BR> <BR><body> <BR> <BR><p> <BR>传有效值 传空值 传0值 <BR><br /><br /> <BR>性别:男 性别:女 <BR><br /><br /> <BR>清空 <BR><br /><br /> <BR>" size="155" /> <BR></p> <BR> <BR>