それゆえに、私を含めて多くの方はこの型を多用しているのではないでしょうか。
今回はそんなboolean型について考えます。
まずはbooleanで偽と扱われる値について
-
boolean の
FALSE
- integer の 0 (ゼロ)
- float の 0.0 (ゼロ)
- 空の文字列、 および文字列の "0"
- 要素の数がゼロである 配列
- メンバ変数の数がゼロである オブジェクト (PHP 4のみ)
- 特別な値 NULL (値がセットされていない変数を含む)
- 空のタグから作成された SimpleXML オブジェクト
つまり、変数の値が0でないことが保証できればboolean型で空文字のチェックができます。
サンプルコード 実行結果
NULL : bool(false) "" : bool(false) "0" : bool(false) "a" : bool(true) 0 : bool(false) 1 : bool(true) +1 : bool(true) -1 : bool(true) 0x0A : bool(true) 012 : bool(true) 0.1 : bool(true) 1e3 : bool(true) 1e-3 : bool(true) array("") : bool(false) array("a") : bool(true) array(array("a")) : bool(true) TRUE : bool(true) FALSE : bool(false) object : bool(true) fopen : bool(true)では、肝心のベンチマークを取ってみましょう。
サンプルコード 実行結果
BenchMark 1 average:0.0022930383682251 BenchMark 2 average:0.0024604082107544そして、最後に注意点をひとつ。未定義の変数を判別しようとしますと…。
サンプルコード 実行結果
Notice: Undefined variable: x in C:\xampp\htdocs\test.php on line 2と、Noticeが出てしまいます。
この場合は素直にissetやemptyを使ったほうが良いでしょう。
0 件のコメント:
コメントを投稿