回答編集履歴

4

case-insensitive

2017/05/31 15:11

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- 厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。
19
+ 厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。また、**大文字と小文字は区別されません**。
20
20
 
21
21
 
22
22
 

3

typo

2017/05/31 15:11

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ```php
24
24
 
25
- $bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_NULL_ON_FAILURE);
25
+ $bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
26
26
 
27
27
  if ($bool === null) {
28
28
 

2

補足

2017/05/31 15:10

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -3,6 +3,20 @@
3
3
 
4
4
 
5
5
  [PHP: 検証フィルタ - Manual](http://php.net/manual/ja/filter.filters.validate.php)
6
+
7
+
8
+
9
+
10
+
11
+ > `"1"`、`"true"`、`"on"` および `"yes"` の場合に `TRUE`、 それ以外の場合に `FALSE` を返します。
12
+
13
+ >
14
+
15
+ > `FILTER_NULL_ON_FAILURE` が設定されている場合は、 `FALSE` が返されるのは `"0"`、`"false"`、`"off"`、`"no"` および `""` の場合のみとなります。 `boolean` 以外の値については `NULL` を返します。
16
+
17
+
18
+
19
+ 厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。
6
20
 
7
21
 
8
22
 

1

追記

2017/05/31 15:07

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,3 +1,21 @@
1
- `FILTER_VALIDATE_BOOLEAN`フラグを使うのがおすすめです。
1
+ `FILTER_VALIDATE_BOOLEAN` ィルタおよび `FILTER_NULL_ON_FAILURE` フラグを使うのがおすすめです。
2
+
3
+
2
4
 
3
5
  [PHP: 検証フィルタ - Manual](http://php.net/manual/ja/filter.filters.validate.php)
6
+
7
+
8
+
9
+ ```php
10
+
11
+ $bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_NULL_ON_FAILURE);
12
+
13
+ if ($bool === null) {
14
+
15
+ throw new \Exception('どちらでもない');
16
+
17
+ }
18
+
19
+ var_dump($bool); // bool(true) か bool(false) のいずれか
20
+
21
+ ```