浅谈PHP中其他类型转化为Bool类型

时间:2022-11-15 00:04:46

问题起由:PHP中if(true==2)会返回true还是false?

结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。

浅谈PHP中其他类型转化为Bool类型

结论:

转化为bool类型时,会变成false的几种数据:

1.整型0

2.空字符串

3.空数组

4.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
function p($title,$mybool){
  echo "<pre>".$title;
  echo var_dump($mybool)."</pre>";
}
class foo {
  function do_foo() {
    echo "你好!";
  }
}
echo"<pre>PHP中的其他类型转化为Bool类型</pre>";
//零
$n0=boolval(0);
p("零:",$n0);
 
//正整数
$n=boolval(2);
p("正整数:",$n);
 
//负整数
$nx=boolval(-2);
p("负整数:",$nx);
 
//字符空格
$ss=boolval(" ");
p("字符空格:",$ss);
 
//空字符串
$sn=boolval("");
p("空字符串:",$sn);
 
//字符串
$s=boolval("chinacion");
p("字符串:",$s);
 
//空数组
$an=boolval(array());
p("空数组:",$an);
 
//数组
$a=boolval(array(0=>1));
p("数组:",$a);
 
//null类型
$nu = boolval(NULL);
p("NULL:",$nu);
 
//object
$bar = new foo;
$bar;
$obj = boolval($bar);
p("Object:",$obj);