数据类型是针对各种(变量)值而言,而不是针对变量本身。
PHP有三大数据类型:标量,复合,特殊
标量数据类型(简单数据类型)
整型:int或者integer,整数,包括正整数,负整数和0
$num = 5; //说num变量的数据类型,其实指的是num变量所指向的值5的数据类型
整型在系统内存中占4个字节保存数据。
PHP还支持定义其他进制:八进制和十六进制
八进制:数值以0开始,后面跟八进制序列
$num = 011; //十进制9
十六进制:数值以0x开始,后面跟十六进制序列
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
$num = 0x11; //十进制17
浮点型:float,double,精度
通常,float占用4个字节保存数据,单精度,表示7个精度
double占用8个字节保存数据,双精度,表示15个精度
实际上PHP中float也是占用8个字节保存数据。
$float = 1.0; //普通的带小数的浮点数
$float = 2.3e3; //科学计数法保存的浮点数
因为浮点数会丢失精度,所以通常不用浮点数比较大小。
什么情况下使用浮点型?什么情况下使用整型?
一般对于精度要求不是那么高的,但是数值又非常大的可以使用浮点数,其他情况下基本都不使用。
时间戳:从1970年到当前时间的秒数称之为时间戳(格林威治时间)
PHP提供了一个函数:time()获得时间戳
PHP用来保存时间都是使用时间戳来处理,date函数可以将时间戳转化成时间
字符串:string,凡是带引号包好的字符都可以称之为字符串
PHP中字符串的表示方式有三种:单引号,双引号,定界符
单引号:将字符串用单引号包裹起来
双引号:将字符串用双引号包裹起来
单引号和双引号的区别?
区别有两点
1.双引号中能够使用更多的转义字符\r\n\t
单引号:\’
双引号:\”\r\n\t
2.双引号中能够解析PHP变量
双引号解析变量注意
如何解决?
1.在变量后面增加一个空格
2.将变量用大括号包裹{}
定界符:使用一种特殊的符号(<<<),并且增加一对起始和结束标识来包括字符串
语法:$str = <<< EOD
//字符串内容
EOD;
定界符使用规则
1.定界符的边界符号必须成对
2.右定界符必须顶格
3.两个定界符后面都不能跟任何其他内容
定界符的意义
1.为了让双引号对应的字符串在编写的时候方便查看
2.定界符能够在输出之后保证原来的数据格式
heredoc结构就是以上所讲的定界符,对应双引号功能
$str = <<< EOF
EOF;
Nowdoc结构也是以上结构,只是对应单引号功能
$str = <<< ‘EOF’
EOF;
有人认为单引号比双引号的字符串效率要高,因为单引号不需要去解析其中的变量等内容,只要直接输出即可。
布尔:bool和Boolean,布尔类型只有两个值TRUE和FALSE
哪些数据会被当做FALSE处理?
需要通过比较的形式来判断是否为FALSE
0:整型0
0.0:浮点0
‘0’:字符串0
null:空
‘’:空字符串
复合数据类型
数组
对象
特殊数据类型
NulL:定义的变量的值为NulL或者变量被删除
进制转换
二进制转十进制
10101010 ————-》170
十进制转二进制
65 ————-》 01000001
十进制转十六进制
相除法
八进制转十进制
乘幂
系统预定义变量
系统定义的变量称之为预定义变量,预定义变量有9个:
$_POST:接收用户表单post方式提交的所有数据
$_GET:接收用户表单get方式提交的所有数据
$_REQUEST:接收用户get方式,post方式提交的数据,还有cookie数据
$_fileS:接收用户上传的文件信息
$_SESSION:存放session数据(存放在服务器)
$_cookie:存放cookie数据(存放在浏览器)
$GLOBALS:全局变量
$_SERVER:保存服务器信息
小作业:对$_SERVER预定义变量掌握几个常用的数据
$_ENV:保存系统环境信息
系统预定义常量
PHP_OS: *** 作系统内核
PHP_VERSION:当前PHP的版本
PHP_INT_SIZE:int类型所占的字节数
PHP_INT_MAX:int类型能表示的最大值
魔术常量:可以自动变化的常量
__file__:当前脚本的文件路径(绝对路径)
__liNE__:当前所在的行数
__DIR__:当前脚本所在的目录(PHP4以后才有)
__FUNCTION__:当前函数的名字
__METHOD__:当前方法的名字(类中的函数)
可变变量
通过一个得到一个变量的值,将该值再次当做一个变量名从而得到另外一个变量的值。
传值
变量间的赋值
变量间的传值分为两种:值传递和引用传递
值传递:将一个变量的值赋值一份,然后赋值给新的变量
一个变量的变更不会影响另外一个变量的变更
引用传递:将一个变量的地址赋值给新的变量
在给变量赋值的时候,使用地址符号&获得一个变量的地址。
交换变量值(两个变量都是整数)
1.使用第三个变量来是想两个变量的值的交换
2.不使用第三个变量交换两个变量的值
以上是内存溢出为你收集整理的PHP数据类型全部内容,希望文章能够帮你解决PHP数据类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)