質問: POSTで送られた値は、全て文字列型として扱われるのでしょうか? 以下のようなフォームがあったとします。 ``` ``` 上記の環境で、 $_POST['sample_test']の中身が、die("「HELLO」"); の場合、どうなるのだろうと思い実験したところ、何も起きませんでした。 die("「HELLO」"); がPHPとしてわたってきていたら、画面が白くなって「HELLO」と表示されると思うのですが、ならないということは、文字列として扱われているということなのでしょうか。 以前、何かの記事で、POSTの中身が「文字列であるか」を確認し、「文字列でない場合はエラーを返す」ようにしている記事を読んだ記憶があります。 しかし、PHPにおいて、POSTで送られた値が全て文字列型として扱われる仕様なのであれば、個人的に文字列型かどうかの検証はする必要がないと思うのですが、どうなのかなと不思議に思い、質問させて頂きます。 もしかして、$_POSTで送られてくる中身が文字列以外の例外的なケースなどもあるのでしょうか?
回答: > > POSTで送られた値は、全て文字列型として扱われるのでしょうか? > > > そのとおり、POSTやGETで送信されたものは文字列型になります。 var_dump関数でチェックしてみてください。 例えば ``` var_dump($_POST['example']); ``` stringという部分があれば文字列型です。