2013年3月12日火曜日

Validation その1

スクリプトを書いていて気を使うところは変数のバリデーションです。
今回はその中で、scalar値かどうかの判別について考えたいと思います。

まず、取得したい値と弾きたい値の仕様について考えます。
取得したい値
  • integer
  • float
  • string
  • boolean

弾きたい値
  • NULL
  • array
  • object
  • resouce

というわけで、実装した関数はこうなりました。

サンプルコード

実行結果
NULL : string(0) ""
"" : string(0) ""
"a" : string(1) "a"
0 : int(0)
1 : int(1)
+1 : int(1)
-1 : int(-1)
0x0A : int(10)
012 : int(10)
0.1 : float(0.1)
1e3 : float(1000)
1e-3 : float(0.001)
array("") : string(0) ""
array("a") : string(0) ""
array(array("a")) : string(0) ""
TRUE : bool(true)
FALSE : bool(false)
object : string(0) ""
fopen : string(0) ""

上記の通り、特に問題なさそうです。
スカラー値を取得したいときはこの関数を使用していきたいと思います。

0 件のコメント:

コメントを投稿