ブール検証 FILTER_VALIDATE_BOOLEAN
1 <?php2 3 /*** test for a boolean value ***/4 echo filter_var("true", FILTER_VALIDATE_BOOLEAN);5 //16 ?>
フィルターが有効なブール値を見つけたので、上記のコードは 1 を出力します。以下に true を返すことができる他の値を示します。
1
"1"
"yes"
" true"
"on"
TRUE
次の値はfalseを返します
0
"0"
"no"
"false"
"off"
""
NULL
FALSE
は次の使用法もサポートしています
1 <?php2 3 /*** a simple array ***/4 $array = array(1,2,3,4,5);5 6 /*** test for a boolean value ***/7 echo filter_var(in_array(3, $array), FILTER_VALIDATE_BOOLEAN) ? "TRUE" : "FALSE";8 //true9 ?>
上記のコードでは、最初に in_array 関数が正常に実行されたと判断され、true が返されるため、最後のコードは true を出力します
配列を渡して、配列内の値のブール型を決定することもできます
1 <?php 2 3 /*** a multi dimensional array ***/ 4 $array = array(0,1,2,3,4, array(0,1,2,3,4)); 5 6 /*** create the list of values ***/ 7 $values = filter_var($array, FILTER_VALIDATE_BOOLEAN, FILTER_REQUIRE_ARRAY); 8 9 /*** dump the values ***/10 var_dump($values);11 12 ?>
上記のコードの出力は次のとおりです。 (false)
[3] => bool(false)
[4]=> bool(false)
[5]=> array(5) {
[0]=> 1]=> bool(true)
[2]=> bool(false)
[4]=> bool(false)
}
}
浮動小数点verify FILTER_VALIDATE_FLOAT
1 <?php 2 3 /*** an FLOAT value to check ***/ 4 $float = 22.42; 5 6 /*** validate with the FLOAT flag ***/ 7 if(filter_var($float, FILTER_VALIDATE_FLOAT) === false) 8 { 9 echo "$float is not valid!";10 }11 else12 {13 echo "$float is a valid floating point number";14 }15 ?>
/*** 値の配列 ***/
$array = array(1.2,"1.7","", "-12345.678", "some text", "abcd4.2efgh", array()) ;/*** 配列を検証します ***/
$validation_array = filter_var($array, FILTER_VALIDATE_FLOAT, FILTER_REQUIRE_ARRAY);
var_dump($validation_array);
上記コード出力は次のとおりです
array(7) {
[2]=> bool(false)
[3]=> ; float (-23234.123)
[5]=> bool(false)
[6]=> array(0) { }
}
浮動小数点フィルターは、数値間の区切り文字を指定
1 <?php 2 3 /*** an array of floats with seperators ***/ 4 $floats = array( 5 "1,234" => ",", 6 "1.234" => "..", 7 "1.2e3" => "," 8 ); 9 10 /*** validate the floats against the user defined decimal seperators ***/11 foreach ($floats as $float => $dec_sep)12 {13 $out = filter_var($float, FILTER_VALIDATE_FLOAT, array("options"=>array("decimal" => $dec_sep)));14 /*** dump the results ***/15 var_dump($out);16 }17 ?>
bool(false)
bool(false)URL の検証 FILTER_VALIDATE_URL
URL は不確実であるため、URL の検証は非常に困難な動作です。RFC 1738 を参照して、URL に関する情報を学びましょう。 。次に、すべての ipv4 および ipv6 URL、およびその他の URL を検証するクラスを作成できます。 FILTER_VALIDATE_URL を使用して URL を検証することもできます。
1 <?php 2 3 /*** a rfc compliant web address ***/ 4 $url = "http://www.phpro.org"; 5 6 /*** try to validate the URL ***/ 7 if(filter_var($url, FILTER_VALIDATE_URL) === FALSE) 8 { 9 /*** if there is no match ***/10 echo "Sorry, $url is not valid!";11 }12 else13 {14 /*** if we match the pattern ***/15 echo "The URL, $url is valid!<br />";16 }17 ?>
FILTER_FLAG_SCHEME_REQUIRED - URL が RFC 準拠の URL である必要があります。 (例: http://example)
FILTER_FLAG_HOST_REQUIRED - URL にホスト名を含める必要があります (http://www.example.com)
FILTER_FLAG_QUERY_REQUIRED - URL にクエリ文字列が必要です (例: "eg.php?age=37")
1 <?php 2 3 /*** a non rfc compliant URL ***/ 4 $url = "index.php"; 5 6 /*** try to validate the URL ***/ 7 if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) === FALSE) 8 { 9 /*** if there is no match ***/10 echo "Sorry, $url is not valid!";11 }12 else13 {14 /*** if the URL is valid ***/15 echo "The URL, $url is valid!";16 }17 ?>
上記のコードは渡されないことがわかりますverify
IP フィルター FILTER_VALIDATE_IP
名前: "validate_ip"
ID 番号: 275可能なフラグ:
FILTER_FLAG_IPV4 - 値が有効な IPv4 IP である必要があります (例: 255.255.255.255)FILTER_FLAG_IPV6 - 値が有効な IPv6 IP である必要があります (例: 2) 001:0db8: 85a3 :08d3:1319:8a2e:0370:7334)
FILTER_FLAG_NO_PRIV_RANGE - 必要な値は RFC で指定されたプライベート IP (192.168.0.1 など) です。FILTER_FLAG_NO_RES_RANGE - 必要な値は予約された IP 範囲内にありません。このフラグは、IPV4 および IPV6 の値を受け入れます。
メール フィルター FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_EMAIL フィルターは、メール アドレスとしての値を検証します。
1 <?php 2 $email = "someone@exa mple.com"; 3 4 if(!filter_var($email, FILTER_VALIDATE_EMAIL)) 5 { 6 echo "E-mail is not valid"; 7 } 8 else 9 {10 echo "E-mail is valid";11 }12 ?>
このフィルターにより、データのフィルター処理を完全に制御できます。
指定された関数は、「options」という名前の連想配列に格納する必要があります。
れーい
输出
Peter_is_a_great_guy!
PHP技术交流群 170855791