empty(), isset(), == “” , === “”は似ているようで少し違います。
その違いを試したスクリプトは以下になります。
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
<?php $null = NULL; $empty = ""; $zero = 0; $zero_str = "0"; echo "-------- isset() ----------<br /><br />"; if(isset($null)){ echo "isset($null) は true<br />n"; } else { echo "isset($null) は false<br />n"; } if(isset($empty)){ echo "isset($empty) は true<br />n"; } else { echo "isset($empty) は false<br />n"; } if(isset($zero)){ echo "isset($zero) は true<br />n"; } else { echo "isset($zero) は false<br />n"; } if(isset($zero_str)){ echo "isset($zero_str) は true<br />n"; } else { echo "isset($zero_str) は false<br />n"; } if(isset($not_set)){ echo "isset($not_set) は true<br />n"; } else { echo "isset($not_set) は false<br />n"; } echo "-------- empty() ----------<br /><br />"; if(empty($null)){ echo "empty($null) は true<br />n"; } else { echo "empty($null) は false<br />n"; } if(empty($empty)){ echo "empty($empty) は true<br />n"; } else { echo "empty($empty) は false<br />n"; } if(empty($zero)){ echo "empty($zero) は true<br />n"; } else { echo "empty($zero) は false<br />n"; } if(empty($zero_str)){ echo "empty($zero_str) は true<br />n"; } else { echo "empty($zero_str) は false<br />n"; } if(empty($not_set)){ echo "empty($not_set) は true<br />n"; } else { echo "empty($not_set) は false<br />n"; } echo "-------- == "" ----------<br /><br />"; if($null == ""){ echo "$null == "" は true<br />n"; } else { echo "$null == "" は false<br />n"; } if($empty == ""){ echo "$empty == "" は true<br />n"; } else { echo "$empty == "" は false<br />n"; } if($zero == ""){ echo "$zero == "" は true<br />n"; } else { echo "$zero == "" は false<br />n"; } if($zero_str == ""){ echo "$zero_str == "" は true<br />n"; } else { echo "$zero_str == "" は false<br />n"; } if($not_set == ""){ echo "$not_set == "" は true<br />n"; } else { echo "$not_set == "" は false<br />n"; } echo "-------- === "" ----------<br /><br />"; if($null === ""){ echo "$null === "" は true<br />n"; } else { echo "$null === "" は false<br />n"; } if($empty === ""){ echo "$empty === "" は true<br />n"; } else { echo "$empty === "" は false<br />n"; } if($zero === ""){ echo "$zero === "" は true<br />n"; } else { echo "$zero === "" は false<br />n"; } if($zero_str === ""){ echo "$zero_str === "" は true<br />n"; } else { echo "$zero_str === "" は false<br />n"; } if($not_set === ""){ echo "$not_set === "" は true<br />n"; } else { echo "$not_set === "" は false<br />n"; } |
結果はこうなりました。
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 |
-------- isset() ---------- isset($null) は false isset($empty) は true isset($zero) は true isset($zero_str) は true isset($not_set) は false -------- empty() ---------- empty($null) は true empty($empty) は true empty($zero) は true empty($zero_str) は true empty($not_set) は true -------- == "" ---------- $null == "" は true $empty == "" は true $zero == "" は true $zero_str == "" は false $not_set == "" は true -------- === "" ---------- $null === "" は false $empty === "" は true $zero === "" は false $zero_str === "" は false $not_set === "" は false |
各変数の値は以下
1 2 3 4 |
$null = NULL; $empty = ""; $zero = 0; $zero_str = "0"; |
/