PHP中空字符串介绍0、null、empty和false之间的关系

0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串

""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串

null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0

"=="只要值相等就满足条件;  "==="需要两个变量的值和类型都相等;

strval();将变量转换为字符串类型;

intval();将变量转换为整型;

is_numeric();检测变量是否为数字或数字字符串,返回true或false;

参考代码如下:

  1 // 判断 0 与 ‘‘、null、empty、false 之间的关系
  2 $a = 0;
  3 echo "0 与 ‘‘、 empty、null、false 之间的关系:";
  4
  5 if($a == ‘‘)
  6 {
  7     echo "0 == ‘‘;";
  8 }
  9 else
 10 {
 11     echo "0 != ‘‘;";
 12 }
 13
 14 if(trim($a) == ‘‘)
 15 {
 16     echo "trim(0) == ‘‘;";
 17 }
 18 else
 19 {
 20     echo "trim(0) != ‘‘;";
 21 }
 22
 23 if(strval($a) == ‘‘)
 24 {
 25     echo "strval(0) == ‘‘;";
 26 }
 27 else
 28 {
 29     echo "strval(0) != ‘‘;";
 30 }
 31 //0==‘‘,trim(0)!=‘‘,strval(0)!=‘‘ 不是空字符串
 32
 33 if($a === ‘‘)
 34 {
 35     echo "0 === ‘‘;";
 36 }
 37 else
 38 {
 39     echo "0 !=== ‘‘;";
 40 }
 41 //0!===‘‘
 42
 43 if(empty($a))
 44 {
 45     echo "0 is empty;";
 46 }
 47 else
 48 {
 49     echo "0 is not empty;";
 50 }
 51 //0 is empty
 52
 53 if(is_null($a))
 54 {
 55     echo "0 is null;";
 56 }
 57 else
 58 {
 59     echo "0 is not null;";
 60 }
 61 //0 is not null
 62
 63 if(is_numeric($a))
 64 {
 65     echo "0 is numeric;";
 66 }
 67 else
 68 {
 69     echo "0 is not numeric;";
 70 }
 71 //0 is not numeric
 72
 73 if(is_string($a))
 74 {
 75     echo "0 is string;";
 76 }
 77 else
 78 {
 79     echo "0 is not string;";
 80 }
 81 //0 is not string
 82
 83 if(!$a)
 84 {
 85     echo "0 is false;";
 86 }
 87 else
 88 {
 89     echo "0 is not false;";
 90 }
 91 //0 is false
 92
 93 // 判断 ‘‘ 和 0、null、empty、false 之间的关系
 94 $a = ‘‘;
 95 echo "‘‘ 和 0、empty、null、false 之间的关系:";
 96 if($a == 0)
 97 {
 98     echo "‘‘ == 0;";
 99 }
100 else
101 {
102     echo "‘‘ != 0;";
103 }
104
105 if(intval($a) == 0)
106 {
107     echo "intval(‘‘) == 0;";
108 }
109 else
110 {
111     echo "intval(‘‘) != 0;";
112 }
113
114 if(empty($a))
115 {
116     echo "‘‘ is empty;";
117 }
118 else
119 {
120     echo "‘‘ is not empty;";
121 }
122
123 if(is_null($a))
124 {
125     echo "‘‘ is null;";
126 }
127 else
128 {
129     echo "‘‘ is not null;";
130 }
131
132 if(is_numeric($a))
133 {
134     echo "‘‘ is numeric;";
135 }
136 else
137 {
138     echo "‘‘ is not numeric;";
139 }
140
141 if(is_string($a))
142 {
143     echo "‘‘ is string;";
144 }
145 else
146 {
147     echo "‘‘ is not string;";
148 }
149
150 if(!$a)
151 {
152     echo "‘‘ is false;";
153 }
154 else
155 {
156     echo "‘‘ is not false;";
157 }
158
159 // 判断 null 和 ‘‘、0、empty、false 之间的关系
160 $a = null;
161 echo "null 和 ‘‘、0、empty、false 之间的关系:";
162 if($a == ‘‘)
163 {
164     echo "null == ‘‘;";
165 }
166 else
167 {
168     echo "null != ‘‘;";
169 }
170
171 if($a == 0)
172 {
173     echo "null == 0;";
174 }
175 else
176 {
177     echo "null != 0;";
178 }
179
180 if($a === ‘‘)
181 {
182     echo "null === ‘‘;";
183 }
184 else
185 {
186     echo "null !=== ‘‘;";
187 }
188
189 if($a === 0)
190 {
191     echo "null === 0;";
192 }
193 else
194 {
195     echo "null !=== 0;";
196 }
197
198 if(strval($a) == ‘‘)
199 {
200     echo "strval(null) == ‘‘;";
201 }
202 else
203 {
204     echo "strval(null) != ‘‘;";
205 }
206
207 if(intval($a) == 0)
208 {
209     echo "intval(null) == 0;";
210 }
211 else
212 {
213     echo "intval(null) != 0;";
214 }
215
216 if(empty($a))
217 {
218     echo "null is empty;";
219 }
220 else
221 {
222     echo "null is not empty;";
223 }
224
225 if(is_numeric($a))
226 {
227     echo "null is numeric;";
228 }
229 else
230 {
231     echo "null is not numeric;";
232 }
233
234 if(is_string($a))
235 {
236     echo "null is string;";
237 }
238 else
239 {
240     echo "null is not string;";
241 }
242
243 if(!$a)
244 {
245     echo "null is false;";
246 }
247 else
248 {
249     echo "null is not false;";
250 } 
时间: 2024-10-23 22:28:09

PHP中空字符串介绍0、null、empty和false之间的关系的相关文章

php 0,null,empty,空,false,字符串关系(转)

在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下: //相等判断 '' == NULL == 0 == false (相等)array() = 0 == NULL == false (相等)array() <> '' (不相等) //恒等判断//任何两个数比较都不恒等 var_dump(false == FALSE); //bool(true)var_dump(false === FALSE); //bool(t

0,null,empty,空,false,isset

<?php header("Content-type: text/html; charset=utf-8"); $a=0; //1. if($a==0) { echo $a; }else { echo "不等0"; } echo "<hr>"; //2.变量$a等0不为真 if($a) { echo $a; }else { echo "不等0"; } echo "<hr>";

关于JavaScript中0、空字符串、&#39;0&#39;是true还是false的总结

最近被问到关于js中空字符串是true还是false得问题,一时间没想起来,现在在chrome的console面板上输出代码测试一下. "" == false 结果是true   在js中空字符串与0相等  即空字符串等于false 0 == false  结果是tue   比较的时候 布尔类型的转换成number类型  false 为0  true 为1 “0” == fase 结果是true  字符串准成number Boolean("0") 结果是true 

详解php中空字符串和0之间的关系

$_x=$row["x"];$_y=$row["y"];if(isset($_x) && isset($_y)){if($row["y"] == 0 || $row["x"] == 0){$d=$this->getDistance($row["y"],$row["x"],$y,$x);}elseif(!empty($row["y"]) &

PHP:empty,isset,is_null,array(0),array(),array(&quot;&quot;),0,&quot;0&quot;,&quot;&quot;,&quot;null&quot;,NULL的总结

通过下面这个程序来检测 $a=0; if(empty($a)){ echo "yes|"; }else{ echo "no|"; } if(isset($a)){ echo "yes|"; }else{ echo "no|"; } if(is_null($a)){ echo "yes|"; }else{ echo "no|"; } if($a){ echo "yes|"

MySQL,Oracle中空字符串和NULL

Mysql 中空字符串和NULL是不一样的. Oracle中空字符串就是NULL. update User set realname ='' where name = "ff"; -- 在Oracle中不起作用,只有NULL,没有空字符串. update User set mobile = null where name = "ff"; --在Mysql中设置mobile为空. update User set mobile = "" where

0, \0, NULL

字符串.字符数组输入.输出与'\0'的问题 原创首发,欢迎转载! 作者按 字符串.字符数组以"%s"格式输入时,以遇到'空格'为这个字符串输入结束. 字符串.字符数组以"%s"格式输出时,以遇到的第一个'\0'为输出结束标记! C程序设计(谭浩强,第二版,P134) ************************************************************************* 平台为VS2008. Example1: #inclu

&#39;0&#39;,&#39;\0&#39;,NULL,EOF的区别

要看是不是一个东西,打印一下即可 printf("%d %d %d %d\n",'0','\0',NULL,EOF); 输出: 48 0 0 -1 结论: '\0'与NULL 都是0,所以有的时候可以这样用: 初始化指针 char* p=0; 初始化字符串 char tmp[10] = {0} 或 memset(tmp,0,10) '0','\0',NULL,EOF的区别

memcpy用指针的实现通过判断地址是否重合解决掉字符串结束符(&#39;\0&#39;)问题

#include<stdlib.h> #include<stdio.h> #include<string.h> //memcpy的实现 int Mymem(char *dest, char *src, int size) { if (dest == NULL || src == NULL || size == 0) { return -1; } char *d = NULL; char *s = NULL; d = dest; s = src; //if ((unsig