php 变量的类型_PHP丨数据类型

203279948_1_20200927051016149_wm

本期要点:九种原始数据类型

四种标量类型

两种复合类型

三种特殊类型

怎么查看数据属于什么类型

数据类型的转换

九种原始数据类型

四种标量类型<?php

$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

浮点型。就是小数。

但计算不够精确,如:floor(0.1+0.7)*10 正常应该是等于 8 ,可事实它的运算结果会等于 7.9999999999999991118...

String

字符串 ,一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。

单引号跟双引号两种方式的区别:单引号表示直接输出

比如上面的代码中变量 $a4 的值会输出为 string$a1

双引号为取值

而 $a41 的值则会输出为 string1

203279948_2_20200927051016196_wm

两种复合类型<?php

$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() 函数用于打印显示一个变量的内容与结构,以及类型的信息。<?php

//四种标量类型

$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);

?>

把上面的代码在浏览器里输出(为了方便观看使用了浏览器中的查看源代码功能):

203279948_3_20200927051016368_wm

从浏览器输出的内容我们可以看到 var_dump 不仅把数据的内容输出了,还把数据的类型也一并显示出来了。

另外简单提一下 var_dump() 、print_r() 及 echo() 这三种函数之间的关系及用法:var_dump() 能打印出类型

print_r() 只能打出值

echo() 是正常输出

数据类型的转换

自动转换

当数据在进行运算时会自动进行转换:字符串如果是有效的数字会被转换为数值

布尔类型中的 true 会被转换为 1 ,false 会被转换为 0

字符串如果不是有效的数字会被转换为 0<?php

$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);

?>

把上面的代码在浏览器里输出:

203279948_4_20200927051016587_wm

从上面浏览器输出的效果我们可以看到:$a1+$a4 输出的是 int(9)

$a1+$a2 输出的是 int(2)

$a1+$a3 输出的是 int(1)

$a1+$a4 被报错了,但还是输出了结果是 int(1)

手动转换

当我们在编程过程中如果想把一种数据类型转换为另一种数据类型时只需要加上相应的语法即可。<?php

$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);

?>

把上面的代码在浏览器里输出(为了方便观看使用了浏览器中的查看源代码功能):

203279948_5_20200927051016790_wm

从上面浏览器输出的效果我们可以看到:任意数据类型只要在前面加上 (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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值