回答編集履歴
4
case-insensitive
answer
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
>
|
8
8
|
> `FILTER_NULL_ON_FAILURE` が設定されている場合は、 `FALSE` が返されるのは `"0"`、`"false"`、`"off"`、`"no"` および `""` の場合のみとなります。 `boolean` 以外の値については `NULL` を返します。
|
9
9
|
|
10
|
-
厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。
|
10
|
+
厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。また、**大文字と小文字は区別されません**。
|
11
11
|
|
12
12
|
```php
|
13
13
|
$bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
|
3
typo
answer
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。
|
11
11
|
|
12
12
|
```php
|
13
|
-
$bool = filter_var($test, FILTER_VALIDATE_BOOLEAN,
|
13
|
+
$bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
|
14
14
|
if ($bool === null) {
|
15
15
|
throw new \Exception('どちらでもない');
|
16
16
|
}
|
2
補足
answer
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
[PHP: 検証フィルタ - Manual](http://php.net/manual/ja/filter.filters.validate.php)
|
4
4
|
|
5
|
+
|
6
|
+
> `"1"`、`"true"`、`"on"` および `"yes"` の場合に `TRUE`、 それ以外の場合に `FALSE` を返します。
|
7
|
+
>
|
8
|
+
> `FILTER_NULL_ON_FAILURE` が設定されている場合は、 `FALSE` が返されるのは `"0"`、`"false"`、`"off"`、`"no"` および `""` の場合のみとなります。 `boolean` 以外の値については `NULL` を返します。
|
9
|
+
|
10
|
+
厳密には `"on"` `"off"` だけではありませんが、`"1"` や `"0"` も同等に扱ったほうが便利な場合が多いです。論理値を文字列に変換したときはこうなるので。
|
11
|
+
|
5
12
|
```php
|
6
13
|
$bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_NULL_ON_FAILURE);
|
7
14
|
if ($bool === null) {
|
1
追記
answer
CHANGED
@@ -1,2 +1,11 @@
|
|
1
|
-
`FILTER_VALIDATE_BOOLEAN`フラグを使うのがおすすめです。
|
1
|
+
`FILTER_VALIDATE_BOOLEAN` フィルタおよび `FILTER_NULL_ON_FAILURE` フラグを使うのがおすすめです。
|
2
|
+
|
2
|
-
[PHP: 検証フィルタ - Manual](http://php.net/manual/ja/filter.filters.validate.php)
|
3
|
+
[PHP: 検証フィルタ - Manual](http://php.net/manual/ja/filter.filters.validate.php)
|
4
|
+
|
5
|
+
```php
|
6
|
+
$bool = filter_var($test, FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_NULL_ON_FAILURE);
|
7
|
+
if ($bool === null) {
|
8
|
+
throw new \Exception('どちらでもない');
|
9
|
+
}
|
10
|
+
var_dump($bool); // bool(true) か bool(false) のいずれか
|
11
|
+
```
|