2021.03.01
【PHP基礎】ファイルシステム関数④ isset関数
この記事では、
入力値のチェックに使われる、
isset関数を取り上げます。
概要
構文
isset(var, …vars)
var
データ型 | すべての型を受け入れる |
---|---|
値の説明 | 変数宣言されており、かつnullではないと思われる値 |
…vars
データ型 | すべての型を受け入れる |
---|---|
値の説明 | 可変長引数です。varと同じく、変数宣言されており、かつnullではないと思われる値を入れていきます |
戻り値
データ型 | bool(trueかfalse) |
---|---|
値の説明 | 検査対象の値がすべて、宣言されており、かつnullでなければ、true、 どれか1つでも未宣言ないしnullの値があれば、false、を返します |
コード例
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <form action="" method="GET"> <input type="text" name="message"><br> <input type="submit"> </form> <?php if (isset($_GET["message"])) { $message = $_GET["message"]; echo "<hr>"; echo "送信したメッセージは【{$message}】"; } ?> </body> </html>
実行結果
空文字を入れた場合
発展形 issetとstrlen、trimを組み合わせる
isset関数だけでは、未宣言やnullは防げても、空文字は防げません。
空文字を防ぐためには、
isset関数と、strlen関数を組み合わせます。
さらに、空白文字も防ぐためには、trim関数で空白文字を除去したのちの文字列の長さもチェックします。
コード例
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <form action="" method="GET"> <input type="text" name="message"><br> <input type="submit"> </form> <?php if ( isset($_GET["message"]) && strlen($_GET["message"]) >= 1 && strlen(trim($_GET["message"])) >= 1 ) { $message = $_GET["message"]; echo "<hr>"; echo "送信したメッセージは【{$message}】"; } ?> </body> </html>