こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
if文の条件には、基本boolとなるものを入れます。
が、PHPでは
1 2 3 |
if($sample) { // 処理 } |
というように変数も入れることができます。
この記事では、 PHPのif文の条件に変数のみを指定した場合の動きをお伝えします。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
if文の条件に変数のみを指定した場合の動き
if文の条件に変数のみを指定した場合、その変数の中身がない場合はfalse、ある場合はtrueと判定されます。
たとえば
- null
- 空
- 数値のゼロ
はfalseと判定されます。
逆に
- 124
- あいうえお
- 要素がある配列
はtrueと判定されます。
では、次の章で実際に動かしてみます。
if文の条件に変数のみを指定した場合の動きを確認するプログラムの概要
if文の条件に変数のみを指定した場合の動きを確認するプログラムでは
- nullの場合
- 空文字の場合
- 文字列の場合
- ゼロの場合
- 正の整数の場合
- 負の整数の場合
- 正の小数の場合
- 負の小数の場合
- 空の配列の場合
- 要素がある配列の場合
の合計10パターンでif文の条件文に指定し、どう判断されるのかを確認します。
phpプログラムは
C:\xampp\htdocs
配下に、【if_variable_sample.php】というファイル名で格納しています。
PHPサンプルプログラム
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
<?php print('■nullを指定した場合<br />'); $null_var = null; if($null_var) { print('nullはtrueで判断される<br />'); } else { print('nullはfalseで判断される<br />'); } print('<br />'); print('■空文字を指定した場合<br />'); $empty_var = ''; if($empty_var) { print('空文字はtrueで判断される<br />'); } else { print('空文字はfalseで判断される<br />'); } print('<br />'); print('■文字列を指定した場合<br />'); $str_var = 'あいうえお'; if($str_var) { print('文字列はtrueで判断される<br />'); } else { print('文字列はfalseで判断される<br />'); } print('<br />'); print('■ゼロを指定した場合<br />'); $zero_var = 0; if($zero_var) { print('ゼロはtrueで判断される<br />'); } else { print('ゼロはfalseで判断される<br />'); } print('<br />'); print('■正の整数を指定した場合<br />'); $positive_int_var = 5; if($positive_int_var) { print('正の整数はtrueで判断される<br />'); } else { print('正の整数はfalseで判断される<br />'); } print('<br />'); print('■負の整数を指定した場合<br />'); $negative_int_var = -3; if($negative_int_var) { print('負の整数はtrueで判断される<br />'); } else { print('負の整数はfalseで判断される<br />'); } print('<br />'); print('■正の小数を指定した場合<br />'); $positive_decimal_var = 2.7; if($positive_decimal_var) { print('正の小数はtrueで判断される<br />'); } else { print('正の小数はfalseで判断される<br />'); } print('<br />'); print('■負の小数を指定した場合<br />'); $negative_decimal_var = -9.7; if($negative_decimal_var) { print('負の小数はtrueで判断される<br />'); } else { print('負の小数はfalseで判断される<br />'); } print('<br />'); print('■空の配列を指定した場合<br />'); $empty_array_var = array(); if($empty_array_var) { print('空の配列はtrueで判断される<br />'); } else { print('空の配列はfalseで判断される<br />'); } print('<br />'); print('■要素がある配列を指定した場合<br />'); $array_var = array(1, 2, 3); if($array_var) { print('要素がある配列はtrueで判断される<br />'); } else { print('要素がある配列はfalseで判断される<br />'); } print('<br />'); ?> |
実行結果
XAMPPを起動して、【http://localhost/if_variable_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
結果をまとめると
変数の中身 | 判定結果 |
---|---|
文字列 正の整数 負の整数 正の小数 負の小数 要素がある配列 |
true |
null 空文字 ゼロ 空の配列 |
false |
という結果となり、変数の中身のあるなしでtrueとfalseが判定されていることが確認できました。
まとめ:if文の条件に変数のみで指定してみよう
以上がPHPでif文の条件に変数のみを指定した場合の動きの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント