在PHP中,一共支持八种原始数据类型:他们是四种标量类型:boolean(布尔型),integer(整形),float(浮点型)和string(字符串型);两种复合数据类型:array(数组)和object(对象);两种特殊数据类型:resource(资源)与空值(null)。
PHP中变量的数据类型通常不是由程序员设定的,准确的说,是PHP根据该变量使用的上下文在运行时决定的,简单的说就是,我们不需要设定变量的数据类型,PHP会自动识别。
数据类型 | 描述 |
---|---|
boolean(布尔型) | 也叫bool型,布尔型是最简单的数据类型,只有两个值 false(假) 和true(真) ,不区分大小写 |
string(字符串型) | 字符串就是连续的字符序列,由数字、字母和符号组成。如 ehco “string”; |
integer(整型) | 整型数据类型只能包含整数,这些数据类型可以是负数或者正数 |
float(浮点型) | 浮点型类型用于存储整数数字,和整型不同的是浮点型可以有小数点 |
array(数组) | 数组是一组数据的组合,它把一系列的数组组合起来,形成一个可操作的整体 |
object(对象) | 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,一个对象由一组属性和对这组属性进行操作的一组服务组成 |
resource(资源) | 资源是一种特殊的变量,保存在外部资源的一个应用,资源是通过函数来进行建立的,如打开文件、数据库连接,图形画布区域等 |
null( 空白) | 特殊的值,表示变量没有值,任何变量的初始值都是null |
一、布尔型(boolean)数据类型
布尔型是PHP四种标量数据类型中的一个,它是PHP中较为常见的数据类型之一,它只能保存两个值:true值和false值。它不区分大小写,所以true写成TRUE是一样的。
如果我们需要设定一个布尔型的变量,只需将true值或者false值直接赋值给变量就好,如下:
$a=true;
$b=false;
实例
通常,布尔型变量是应用在条件控制或循环控制语句的表达式中,下面在if条件控制语句中判断变量$ boo中的值是否为true,如果为true,则输出"变量 $boo为真!",否则输出"变量 $boo为假!",代码如下:
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$boo=true; //说明一个boolean类型变量,赋初值为true
if($boo==true){
//判断$boo变量是否为真
echo "变量\$boo为真!";
}else{
echo "变量\$boo为假!";
}
?>
代码运行结果:
变量$boo为真!
注意:在PHP中不是只有boolean值为假,在一些特殊情况下非boolean值也被认为是假。这些特殊情况为:0,0.0,“0”,空白字符串(“”),只声明没有赋值的数组等。
下面是这些特殊情况的示例:
- 变量的值为整型时,如果值为0时为假,其他为真。
<?php
var_dump(1 == true); //bool(true)
var_dump(0 == false); //bool(true)
var_dump(-1 == false); //bool(false)
var_dump(0 == true); //bool(false)
?>
- 变量的值为浮点型时,如果值为0.00(即其中只有0)
即为假,其他都为真:
<?php
var_dump(1 == true); //bool(true)
var_dump(0 == false); //bool(true)
var_dump(-1 == false); //bool(false)
var_dump(0 == true); //bool(false
?>
- 变量值为字符串时,如果值为“”(即空)或0即为假,其它都为真(既使为0.00或“ ”中间有空格也是真):
<?php
var_dump("" == false); //bool(true)
var_dump("0" == false); //bool(true)
var_dump(" " == true); //bool(true)
var_dump("0.00" == true); //bool(true)
?>
- 变量为数组型时,如果数组中没有任何成员,即为假,否则为真。
<?php
var_dump(array() == ''); //bool(false)
var_dump(array() === ''); //bool(false)
var_dump(array() == NULL); //bool(true)
var_dump(array() === NULL); //bool(false)
var_dump(array() == 0); //bool(false)
var_dump(array() === 0); //bool(false)
var_dump(array() == false); //bool(true)
var_dump(array() === false)