本期要点:
九种原始数据类型
四种标量类型
两种复合类型
三种特殊类型
怎么查看数据属于什么类型
数据类型的转换
九种原始数据类型
四种标量类型
$a1 = true;//boolean 布尔类型
$a2 = 1;//int 整型
$a3 = 1.5;//float 浮点型
$a4 = 'string$a1' ;//string 字符串
$a41= "string$a1";//string 字符串
echo $a4;
echo "
";
echo $a41;
Boolean
布尔类型。只有两个值:true 或 false 。
Integer
整型。就是整数。
但有显示范围,如:111...(省略 100 个 1)中会有部分显示不出来。
Float
浮点型。就是小数。
String
字符串 ,一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。
单引号跟双引号两种方式的区别:
单引号表示直接输出
比如上面的代码中变量 $a4 的值会输出为 string$a1
双引号为取值
而 $a41 的值则会输出为 string1
两种复合类型
$a5 = [1,2,3];//array 数组(php5.4之后的写法)
$a51= arry(1,2,3);//array数组(php5.4之前的写法)
$a6 = new stdClass;//object 对象
Array
数组。简单说,就是指一个变量包含的多个值。
自 php5.4 后写法有所改变。
Object
对象。一个对象由一组属性和对这组属性进行操作的一组服务组成。
你可以简单理解为就是:为了实现某种功能,由一些【数据】+【操作】(的代码)组成。
这两种数据类型这里只简单介绍,后面会分几期专门讲。
三种特殊类型
Resource
资源类型。资源 resource 是一种特殊变量,保存了到外部资源的一个引用。
一般我们在连接数据库或打开一个文件的时候会得到一个资源类型
null
无。特殊的 NULL 值表示一个变量没有值。
注意【无】跟【空】是两个概念。
Callback
回调类型。就是回调函数。
自 PHP 5.4 起可用 callable 类型指定回调类型 callback。
这几种数据类型大家暂时也只需要大概了解就行。
怎么查看数据属于什么类型
var_dump()
var_dump() 函数用于打印显示一个变量的内容与结构,以及类型的信息。
//四种标量类型
$a1 = 1;//int 整型
$a2 = 1.5;//float 浮点型
$a3 = true;//boolean 布尔类型
$a4 = 'string$a1';//string 字符串
$a41= "string$a1"; //string 字符串
//两种复合类型
$a5 = [1,2,3];//array 数组(php5.4之后的写法)
$a51= array(1,2,3);//array 传统写法
$a6 = new stdClass; //object 对象
echo$a1;
var_dump($a1,$a2,$a3,$a4,$a5,$a6);
把上面的代码在浏览器里输出(为了方便观看使用了浏览器中的查看源代码功能):
从浏览器输出的内容我们可以看到 var_dump 不仅把数据的内容输出了,还把数据的类型也一并显示出来了。
另外简单提一下 var_dump() 、print_r() 及 echo() 这三种函数之间的关系及用法:
var_dump() 能打印出类型
print_r() 只能打出值
echo() 是正常输出
数据类型的转换
自动转换
当数据在进行运算时会自动进行转换:
字符串如果是有效的数字会被转换为数值
布尔类型中的 true 会被转换为 1 ,false 会被转换为 0
字符串如果不是有效的数字会被转换为 0
$a1 = 1;//int 整型
$a2 = true;//boolean 布尔类型
$a3 = false;//boolean 布尔类型
$a4 = '8';//当整数1加上引号后就会被转为字符串类型
$a5 = aaa;//string 字符串类型
var_dump($a1+$a4);
var_dump($a1+$a2);
var_dump($a1+$a3);
var_dump($a1+$a5);
把上面的代码在浏览器里输出:
从上面浏览器输出的效果我们可以看到:
$a1+$a4 输出的是 int(9)
$a1+$a2 输出的是 int(2)
$a1+$a3 输出的是 int(1)
$a1+$a4 被报错了,但还是输出了结果是 int(1)
手动转换
当我们在编程过程中如果想把一种数据类型转换为另一种数据类型时只需要加上相应的语法即可。
$a1 = (string)1;//int 整型
$a2 = (string)1.5;//float 浮点型
$a3 = (string)true;//boolean 布尔类型
$a4 = (string)'string$a1';//string 字符串
$a41= (string)"string$a1" ;//string 字符串
$a5 = '1';//当整数1加上引号后就会被转为字符
var_dump($a1,$a2,$a3,$a4,$a41,$a5);
把上面的代码在浏览器里输出(为了方便观看使用了浏览器中的查看源代码功能):
从上面浏览器输出的效果我们可以看到:
任意数据类型只要在前面加上 (string) 即可变为字符串类型
相应,如果想要转换为整数的话也是只需要在前面加上 (int) 即可
当然,数据类型的转换肯定不止这么简单,想要详细了解的可以去官方手册查阅 ,官方手册在前面几期的内容:
PHP 网站开发——开发前的准备工作
中有下载地址,具体章节在【PHP 手册】-【语言参考】-【类型】-【类型转换的判另】中〜
This is not the end.
It is not even the beginning of the end.
But it is,
perhaps,the end of the beginning.
更多分享
0 基础教程丨PHP 网站开发
效率工具
小众电影
0 基础教程丨小程序开发
领取专属 10元无门槛券
私享最新 技术干货