Developer

【PHP基礎】ファイルシステム関数④ isset関数
2021.03.01
Lv1

【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>

デモ

空文字送信した場合

空文字送信した場合は、何も表示されていませんね。

PHP基礎 連載目次リンク

PHP基礎 連載目次