PHP 勉強中です。
POST もしくは、GET で値を取得して、
空の時は、第 4 引数より、以下配列の 0 もしくは、空文字を含むように書いてます。
もう少しコードをまとめたいと考えており、特に多次元配列まとめたいのですが、
filter_input 第 4 引数で使用するには、$default_options にキー、バリューを追加しても、
処理に困る感じです。
何か良いまとめる方法はありませんか ?
また、それ以外でも処理がまとまる箇所があれば、ご教授頂ければ幸いです。
宜しくお願いいたします。
$default_options = [
'options' => [
'default' => '0',
]
];
$empty_options = [
'options' => [
'default' => '',
]
];
// POST を受け取り、値の有無を確認
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
$_01 = filter_input( INPUT_POST, '_01', FILTER_UNSAFE_RAW, $default_options );
$_02 = filter_input( INPUT_POST, '_02', FILTER_UNSAFE_RAW, $default_options );
$_03 = filter_input( INPUT_POST, '_03', FILTER_UNSAFE_RAW, $empty_options );
// GET 受け取り用 URL パラメータを受け取り、値の有無を確認
} else {
$_01 = filter_input( INPUT_GET, '_01', FILTER_UNSAFE_RAW, $default_options );
$_02 = filter_input( INPUT_GET, '_02', FILTER_UNSAFE_RAW, $default_options );
$_03 = filter_input( INPUT_GET, '_03', FILTER_UNSAFE_RAW, $empty_options );
}
No.1ベストアンサー
- 回答日時:
ちょっとすっきりさせるなら
分岐を必要最低限にして、filter_inputの部分を関数化するのはいかがでしょうか?
get_inputの第3引数は省略すると空文字、第4引数省略字はFILTER_UNSAFE_RAWを使って
filter_inputを実行するようにしています。
<?php
function get_input($type, $variable_name, $default_value='', $filter=FILTER_UNSAFE_RAW){
$options = ['options' => [ 'default' => $default_value, ]];
return filter_input($type, $variable_name, $filter, $options);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$type = INPUT_POST;
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
$type = INPUT_GET;
} else {
// POST、GET以外のエラー制御が必要ならここに書く
}
$_01 = get_input($type, '_01', '0');
$_02 = get_input($type, '_02', '0');
$_03 = get_input($type, '_03');
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとHTML+Xamppの掲示板で画像...
-
<input type="hidden" >で配列...
-
フォームボタンを押すたびに数...
-
PHP ボタンが押されたら処理を...
-
入力した部分を表示させたまま...
-
POSTデータのNAME属性をVALUEに...
-
チェックボックスによる検索
-
チェックボックスによる検索(...
-
PHPでじゃんけん勝負
-
PHPでユーザー情報を入力して簡...
-
php mysql でチェックボックス...
-
配列をhiddenで
-
DBの値をチェックボックスに反...
-
phpで分からないエラーが出てし...
-
適性診断テストみたいなものを...
-
チェックボックスの必須項目指定
-
HTMLのリンクをクリックするこ...
-
PHPでCookieを使った訪問回数に...
-
INPUT(TEXT)フォームのリセット
-
IEで、フォームにたとえば
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
フォームへの前回入力値をクリ...
-
PHPでCookieを使った訪問回数に...
-
PHPで画像の渡しが上手く行きま...
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
-
syntax error, unexpected '}' ...
-
画面が更新されてもチェックボ...
-
チェックボックスのvalueを連結...
-
チェックボックスの必須項目指定
-
PHPでユーザー情報を入力して簡...
-
PHPの関数実行
-
POSTデータのNAME属性をVALUEに...
-
パラメーターを隠す
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
テキストボックスに初期値を入れる
おすすめ情報