今回はその中で、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 件のコメント:
コメントを投稿