PHP | filter_input()で配列型のデータを受け取る方法
PHPのfilter_input()
で配列型の送信データを受け取って利用する方法を紹介しています。
確認環境
エックスサーバー
PHP 8.016
filter_input()で配列型のデータを受け取る方法
例えば以下のように配列型のデータをフォームから送信した場合、filter_input()
で受け取って利用しようとするとそのままではエラーが発生します。
<form action="" method="post">
<p><input type="text" name="data[title]"></p>
<p><input type="text" name="data[name]"></p>
<p><input type="submit" value="Submit"></p>
</form>
$data = filter_input(INPUT_POST, 'data');
echo $data['title'];
Warning: Trying to access array offset on value of type bool in ~
filter_input()
で配列型のデータを受け取るには配列データを許可するオプションパラメータ「FILTER_REQUIRE_ARRAY」を追加します。
第三引数に指定する必要があるため、第二引数には省略を意味する「FILTER_DEFAULT」を指定します。
$data = filter_input(INPUT_POST, 'data', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
上記のコードで、filter_input()
で配列型のデータを受け取り利用する事が可能になります。
ディスカッション
コメント一覧
まだ、コメントがありません