1
1

More than 1 year has passed since last update.

値の真偽の判定とfilter_var関数

Last updated at Posted at 2023-01-19

$_GETに格納された値など、PHPには文字列でしか取得できない情報が存在します。
その値を真偽値として扱いたいときにはfilter_var関数が個人的に便利だったので、その他真偽値の判定にまつわる関数とともに出力結果をまとめました。

例:

sample.php
$model = getData($_POST["id"]);

$model->isPublished = filter_var($_POST("isPublished"), FILTER_VALIDATE_BOOLEAN);
$model->save();

早見表

if($var) isset($var) empty($var) is_null($var) filter_var($val, FILTER_VALIDATE_BOOLEAN)
true true true false false true
'true' true true false false true
false false true true false false
'false' true true false false false
1 true true false false true
'0' false true true false false
0 false true true false false
'' false true true false false
'hoge' true true false false false
NULL false false true true false
(unset) false false true true false
array() false true true false false
array(1) true true false false false
もっと見る
if($var) isset($var) empty($var) is_null($var) filter_var($val, FILTER_VALIDATE_BOOLEAN)
true true true false false true
'true' true true false false true
false false true true false false
'false' true true false false false
't' true true false false false
'y' true true false false false
'yes' true true false false true
'f' true true false false false
'n' true true false false false
'no' true true false false false
0 false true true false false
'0' false true true false false
-1 true true false false false
'-1' true true false false false
1 true true false false true
'1' true true false false true
1.0 true true false false true
'1.0' true true false false false
1.1 true true false false false
'1.1' true true false false false
100 true true false false false
'100' true true false false false
-100 true true false false false
'-100' true true false false false
'' false true true false false
'hoge' true true false false false
NULL false false true true false
(unset) false false true true false
array() false true true false false
array(1) true true false false false

特徴

  • 唯一、文字列で渡された"true""yes"を、trueとして判定する関数である
  • booleanという型自体がTruely/Falsyのように曖昧さを含むものではなく、本来のTrue/False の2択であるという概念を基準に判定している(ように見える)

第2引数に指定するオプションは、ここにまとめられています。

参考

いつも参考にさせていただいています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1