ISSET();——このパラメータが存在するかどうかを検出するのに適しています。
定義とスコープ: 変数に値 (0、FALSE、または空の文字列を含むが、NULL は含まない) があるかどうかをテストするために使用されます。つまり、「http://localhost/?fo=」もテストに合格できます。したがって、適用されません。ただし、「http://localhost/」パラメータに fo パラメータが含まれていない場合は、isset を使用してそれを検出できます。この場合、isset($_GET['fo']) は false を返します。
該当なし: この関数は、HTML フォーム内のテキストを効率的な方法で検証するのには適していません。ユーザー入力テキストが有効かどうかを確認するには、empty(); を使用できます。これは最適な関数です。
定義とスコープ: 変数に null 値があるかどうかを確認するために使用されます: 空の文字列、0、null または false、つまり「http://localhost/?fo=」または「http://localhost/?」が含まれます。 fo =0" の場合、empty によって検出された結果はすべて true であり、適用されません。0 になる可能性のあるパラメーターの検出には適していません。
is_numeric(); - 数値の検出にのみ適していますが、パラメータ名が存在しない場合はエラーが発生するため、最初のレベルの検出には適していません。
包括的な例:
コードをコピーします コードは次のとおりです:
ini_set("display_errors",1);
//ini_set("error_reporting",E_ALL); error_reporting(E_ALL) ;
$a=NULL;
if(isset($a))echo '
isset 状況:
'; (isset( $_GET['fo'])){
echo '変数 /'fo/' の isset は true、変数は使用可能です';
}else{
echo '変数 /'fo/' の issetは false、変数が設定されていません' ;
}
echo '
空の状況:
';
if(empty($_GET['fo'])){
echo '変数が空です / 'fo/' は true、つまり空または無効な値です';
}else{
echo '変数 /'fo/' の空の値は false であり、値があります';
}
echo '
is_numeric 状況:
';
if(is_numeric($_GET['fo'])){ //パラメータに fo パラメータが無い場合はエラーとなります。
echo '変数 /'fo/' の is_numeric は true であり、数値です';
}else{
echo '変数 /'fo/' の is_numeric は false であり、数値ではありません';
}
echo "
/ $_GET['fo']='' 状況:
";
if($_GET['fo']==''){ // に fo パラメータがない場合パラメータを指定するとエラーが発生します。
echo 'fo には値がありません。空の文字列';
}elseif($_GET['fo']!=''){
echo 'fo には値があります。/'/' ではありません。';
/$_GET['sex']='m':
";
if($_GET['sex']=='m'){ //パラメータがない場合エラー性別変数を使用すると発生します。
echo '男性';
}elseif($_GET['性別']=='f'){
エコー '女性';
無題ドキュメント 有効な値を渡す 空の値を渡す ;
値 0 を渡します 性別:男性a href="?sex=f">性別:女性 ;/a>
上記では、NUMERIC と DECIMAL の違いと、PHP フォーム検証の 3 つの関数 ISSET、empty、is_numeric の使い方を紹介しました。NUMERIC と DECIMAL の違いも含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。