1.什么是数据类型
数据类型就是对数据分类的一种划分方式而已,例如以下举例说明:
哺乳动物:人、猫、马、鸭嘴兽…等等
蔬菜类型:西红柿、菠菜、茄子…等等
水果类型:西瓜、桃子、苹果…等等
2.PHP中的数据类型
序号 | 数据类型 | 数据类型描述 |
---|---|---|
1 | boolean(布尔类型) | 布尔型是简单的数据类型,只有两个值false(假)和true(真) |
2 | string(字符串型) | 字符串就是连续的字符序列,如echo“string” |
3 | integer(整形) | 整形数据类型只能包含整数,这些数据类型可以是负数或者整数 |
4 | float/double(浮点型) | 浮点类型用于存储数字,和整形不同的是浮点型可以有小数点 |
5 | array(数组类型) | 一组相同类型的集合 |
6 | object(对象类型) | 对象是一个实例,使用new命令创建一个对象 |
7 | resource(资源型) | 资源是一种特殊的变量,保存在外部资源的一个应用,资源是通过函数来进行建立的 |
8 | null(空白) | 特殊的值,表示变量没有值,任何变量的初始值都是null |
2.1字符串类型
字符串类型说明:
在PHP语言中声明字符串有三种方式:
1.用单引号声明
2.用双引号声明
3.用字界符声明
单引号举例:
<?php
$zifu='万事开头难,然后中间难,最后结尾难';
echo $zifu;
?>
双引号举例:
<?php
$str="努力了这么久,但凡有点儿天赋,也该有些成功迹象了";
echo $str;
?>
字界符举例:
<?php
$msg = <<<EOF
那天班长说要和我<font size="20">试试!</font><br>
我说<small>可以。</small><br>
我一说,<br>
他<font size="20" color="#ff7f50">啪</font>就站起来了,<font size="20" color="#6495ed"><i>很快啊!</i></font><br>
我大意了啊,没有闪。<br>
他忙说对不起对不起,我不懂规矩啊,他说他是<font size="8"><del>故意</del></font> 乱打的。<br>
他可不是乱打的啊,铮铮鞭腿左刺拳训练有素,后来他说他练过醉拳,看来是有备而来。<br>
这个年轻人,<font size="20">不讲武德!</font><br>
来偷袭!我这个<font size="18" color="#dc143c">29岁的老同志。</font> <br>
这好吗?这不好。 <br>
我劝这位年轻人, <br>
<font size="10" color="#ff7f50">好自为之!好好反思! </font> <br>
以后不要再犯这样的小聪明。 <br>
EOF;
echo $msg
?>
单引号和双引号的区别
1.双引号解析变量和转义字符,但是单引号不解析变量,也不解析转义字符
2.在双引号里面插入变量,变量后面如果有英文或中文字符,会把这个字符和变量拼起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。
3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
4.单引号效率高于双引号,尽可能使用单引号
5.双引号和单引号可以互相嵌套,双引号中可以插入单引号,单引号当中插入变量,这个变量会被解析。
6.神奇的字符串拼接胶水——(.)点,用来拼接字符串。
7.一般将定界符声明字符串视为双引号一样的功能来看待。
<?php
$class = '安全5期';
$date = '2020 11 26';
echo $class."\n";
echo $date."\n";
echo "$class"; // 双引号能解析变量
echo '$date'; // 单引号不能解析变量,引号里面是什么就打印什么
echo "你\n好"; // 双引号能解析转义字符
echo '你\n好'; // 单引号不能解析转义字符
echo $class.$date // (.)点,可以拼接字符串
?>
2.2整数类型
整形表示即为整数,英文称之为integer,英文简写为int,整数是一个没有小数的数字。
整数规则:
- 整数必须至少有一个数字 (0-9)
- 整数不能包含逗号或空格
- 整数是没有小数点的
- 整数可以是正数或负数
- 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
<?php
$x = 5985;
$y = -345; // 负数
$z = 0x8C; // 十六进制数
$a = 047; // 八进制数
?>
2.3浮点类型
浮点数是带小数部分的数字,或是指数形式。
<?php $x = 10.365; // 浮点数 $x = 2.4e3; // 也是浮点数?>
2.4布尔类型
布尔型可以是 true或 false。
<?php $x=true; //声明一个变量为布尔类型 $y=false; //声明一个变量为布尔类型?>
布尔型通常用于条件判断。
2.5数组
数组可以在一个变量中存储多个值。
在以下实例中创建了一个数组
<?php $cars=array("绿茶","红茶","茉莉花茶");?>
2.6对象
对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
<?phpclass Car{ var $color; function __construct($color="green") { $this->color = $color; } function what_color() { return $this->color; }}?>
2.7NULL值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:
<?php $x="Hello world!"; $x=null; // 相当于清空数据?>
3.数据类型的查看
查看数据类型:
- gettype(变量名)输出变量的类型
- var_dump(变量名)输出变量类型和值
举例:
<?php $x = 88.8; $x_type = gettype($x); echo $x_type; // double $msg = '你喜欢男人还是喜欢女人'; $msg_type = var_dump($msg); echo $msg_type; // string?>
4.数据类型的判断
判断数据类型说明:
使用is_*系列函数,is_types这一系列的函数,来进行判断某个数据属于哪种类型,如果是这个类型返回真,不是这个类型返回假。
序号 | 判断函数 | 函数判断描述 |
---|---|---|
1 | is_int | 判断是否为整数数据类型 |
2 | is_bool | 判断是否为布尔数据类型 |
3 | is_float | 判断是否是浮点数据类型 |
4 | is_string | 判断是否是字符串数据类型 |
5 | is_array | 判断是否是数组数据类型 |
6 | is_object | 判断是否是对象数据类型 |
7 | is_null | 判断数据信息是否为空 |
8 | is_resource | 判断是否为资源数据类型 |
9 | is_scalar | 判断是否为标量 |
10 | is_numeric | 判断是否为数字或者数字字符串 |
11 | is_callable | 判断是否为函数 |