リクエストパラメータが配列かそうでないか

PHPはGETとかPOSTのリクエストパラメータがスーパーグローバル変数(すごい名前だ)で簡単に受け取れるから便利なのだけれど、その値が通常の文字列なのか配列なのかは調べてみないとわからない。

  • /foo.php?name=bar
  • /foo.php?name[]=bar
  • /foo.php?name=bar

上記いずれの場合も $_GET['name'] に値が割り当てられるが、1番目の値は文字列、2番目、3番目の値は配列となる(3番目に至っては2次元配列となる)。このあたりをうまくケアしてあげる方法はないものかな、と模索中。

配列ではない文字列(スカラー値)が取得できることを保証できる手段を用意しておいてあげたいところ。普通にis_array関数で判定してうまいことすればいいかなぁ。

世間一般のフレームワークの実装はどうなっているんだろう。配列でいきなりリクエストパラメータを渡してもエラーになったりしないようになっているのだろうか。値の取得とかvalidationとか。

# ぼちぼち調べるとしますか…