PHPでのisset,empty,is_nullの動作は忘れてしまうことが多いので、簡単にまとめてみました。
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php $var[0] = NULL; $var[1] = ""; $var[2] = "0"; $var[3] = "1"; $var[4] = 0; $var[5] = 1; ?> <thml> <head></head> <body> <table border="1"> <tr> <th>値</th> <th>if($var)</th> <th>isset($var)</th> <th>empty($var)</th> <th>is_null($var)</th> </tr> <?php foreach ($var as $v) {?> <tr> <td><?php echo $v; ?></td> <td><?php echo ($v) ? "true" : "false"; ?></td> <td><?php echo isset($v) ? "true" : "false"; ?></td> <td><?php echo empty($v) ? "true" : "false"; ?></td> <td><?php echo is_null($v) ? "true" : "false"; ?></td> </tr> <?php } ?> </table> </body> </html> |
実行結果
値 | if($var) | isset($var) | empty($var) | is_null($var) |
---|---|---|---|---|
NULL | false | false | true | true |
"" | false | true | true | false |
"0" | false | true | true | false |
"1" | true | true | false | false |
0 | false | true | true | false |
1 | true | true | false | false |
まとめ
各値の判定は、PHPプログラムに慣れていないと、結果がどうだったのかと迷うことが多いと思います。
しかしながら、大きく分けて判定パターンは4つしかありません。
if($val) は、空値ともいわれていて、この判定の動作をしっかりと覚えておけば、これらの判定に迷うことは無いでしょう。
開発プロジェクトに応じて、扱うプログラム言語も違うことが多いので、忘れてしまうことも多いと思いますが、その都度、しっかりと思い出して対応することが大切です。