PHP

filter_input関数について

filter_input関数を使えば簡潔にコードを書くことができる。

filter_input関数とは

(HTMLフォームのinputタグなどから)外部変数を受け取り、フィルタリングする関数。 ユーザが入力した値などが妥当であるか調べたりするのに使います。

通常フォームから値を受け取るときにはこのように書くと思います。

<?php

$id = $_GET['id'];
$name = $_POST['name'];

しかし、値が入っていなかったり、上手く渡っていなかった場合、Notice: Undefined index なんかが発生して、エラーになってしまいます。そのためissetを使用し、値が入っているか確認する必要性があります。

<?php

if (!isset($_POST['name'])) {
  $name = null;
} elseif (!is_string($_POST['name'])) {
  $name = false;
} else {
  $name = $_POST['name'];
}

でも、いちいち6,7行のコードを書くのはめんどくさいですよね。
そんなときに、filter_input関数を使えば1行で書けます。

$name = filter_input(INPUT_POST, 'name');

めちゃくちゃ楽。。。