不是php数据类型的为,php学习之php的八种数据类型的使用

字符串类型:string

php学习之php的八种数据类型之字符串string的使用

1.整数型:int

说明:是负数、0、正数的集合、在php中存储整数为10进制、八进制、十六进制

语法:$var=整数数字;

八进制的写法:在数字前面加上0,就是八进制。数字的范围有0-7。算法:出去开头0,各位+十位*8 +百为*8*8+千位*8*8*8….$num=0456; //4*8*8+5*8+6=302十六进制的写法:在数字前面加上0x,数字为0-f算法:出去开头0,各位+十位*16 +百为*16*16+千位*16*16*16….$num =0x456;//4*16*16+5*16+6=1110十进制的写法:直接写数字,数字范围0-9

b514d120639bab689a884066fc761cc0.png

php最大的存储数值为:21亿。用常量PHP_INIT_MAX查询,最大存储值为2147483647,超过这个值自动转为float型

php最大的位数为14位,一个数值占多个位置,PHP_INT_SIZE

82fd9f8bc7eacc410ac326826f78721b.png

2.浮点型:float

说明:就是小数,浮点型也叫浮点数、float、双精度数double或实数real

php中的小说有两种表现形式,

普通的小数科学计数法

浮点数的精度有限,尽管取决于系统,php通常使用ieee754双精度格式,则由于取整而导致的最大相对误差为1.11e-16。非基本数学运算可能会给出更大的误差,并且要考虑到进行复合运算时的误差传递

此外,以十进制能够精确表示的有理数如0.1或0.7,无论有多少为数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式,这就会造成混乱的结果,如:floor((0.1+0.7)*10)通常会返回7而不是预期中的8,因为结果内部的表示其实是类似于7.9999999999999991118…

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等,如果确实需要更高的精度,应该使用任意精度数学函数或者gmp函数

普通小数形式

0f9f6d998578a0b165070b53a89791c6.png

小数末尾多个,小数点后面超过最大长度,会自动删除超出部分,最末尾会四舍五入

科学计数形式

83d94d17bacb49d656db85c2bf937a94.png

超过14位自动转为科学计数法

3.布尔类型:boolean

说明:在php中布尔型的数据只有两个值,true和false

d5c6c420826a4626738eb996ab9eb3ff.png

布尔值一般都用于返回的结果用于流程控制语句中

4.数组:array

说明:一组数据的集合

$变量=array(元素1,元素2,元素3,……);

5.对象:object

说明:世间万物皆为对象

在php中的对象是由类创建来的

acced8b17ea8217c000d7302385113ad.png

//class创建一个类,调用对象$name=null;$age=0;Class people{//属性var $name;var $age;//方法function run(){echo '跑步';}}//创建对象$zs=new people();$zs->name='张三';$zs->age=23;echo $zs->name;$zs->run();$ls= new people();

6.空:null

说明特殊的null值表示一个变量没有值,null类型唯一的值就是它本身null

在php中只能有定义变量并赋值的情况,没有只定义不赋值,这个时候就需要创建一个变量,不知道存储说明值,这个时候可以使用null来创建变量

用法:

d9ee7d7fbd8746cccc5a513f70743a0d.png

7资源:resource

说明:就是引用php外部的内容,这个时候的类型就是资源,资源是通过专门的函数建立和使用的

8401b771eb77468aad306022b1252275.png

8.手册中的类型:用于说明需要某种类型的数据

mixed:一个参数可以接收多种不同的类型,如果函数需要的形参是两种以上,都会使用mixednumber:可以是int和floatvoid:作为返回类型意味着函数的返回值是无用的,void作为参数列表意味着函数不接受任何参数

9数据类型的转换

说明:在php 中数据类型是可以进行互相转换的,如整型1转换成字符串’1′

在php中分两种转换形式,:自动转换和强制转换

自动转换

给到特定写法就会改变原来的类型

91c17507448dbde8f95a15943d1e09c1.png

强制转换

可以使用一些特殊的方式来强制型的改变类型

允许的强制转换的有:

(int),(integer):转换为整型(bool),(boolean):转化为布尔类型(float),(double),(real):转换为浮点型(string):转换为字符串(array):转换为数组(object):转换为对象(unset):转换为null

5de9a10e2f9d46a2ff3e189ec206d090.png

<?php /*** @Author: admin* @Date: 2018-08-16 22:38:26* @Last Modified by: admin* @Last Modified time: 2018-08-17 04:29:11*/定义一个十进制的整数的类型$num1 = 10;$num2 = 0;$num3 = -10;echo $num1."
".$num2."
".$num3;echo "
";//定义一个八进制的类型$num1 = 000;//0$num2 = 077774;//32764$num3 = 05555;//2925echo $num1."
".$num2."
".$num3;echo "
";//定义一个十六进制的类型$num1 = 0x00ff;//255$num2 = 0xfff;//4095$num3 = 0x00000;//0echo $num1."
".$num2."
".$num3;echo "
";//查询最大php存储数值echo PHP_INT_MAX;//最大存储值为2147483647,超过这个值自动转为float型//查询一个数字占多大位置$num = 1111111111111111;//超过14位后自动转为科学计数法var_dump($num);echo PHP_INT_SIZE;//4$num = 11111111111;//超过int的取值范围后自动转为float型var_dump($num);$num = 1111111111;//没超过int的取值范围是int型var_dump($num);//小数浮点型$num1=1.1;$num2=0.0;//小数末尾多个,小数点后面超过最大长度,会自动删除超出部分,最末尾会四舍五入$num3=1.00000000000000000000000000;var_dump($num3);$num3=9.99999999999999999999999999;var_dump($num3);$num3=5.55555555555555555555555555;var_dump($num3);$num3=4.44444444444444444444444444;var_dump($num3);//科学计数$num=1111111111111111.1;//超过14位自动转为科学计数法var_dump($num);$num=1111111111111.1;//没超过14位var_dump($num);//不精准体现$num=floor((0.1+0.7)*10);//floor强制转化成浮点型var_dump($num);//结果为7二不是8//bool类型$true=true;var_dump($true);//一般布尔类型会用在控制语句中if ($num==1) {echo '真';} else {echo '假';}echo "


";//class创建一个类,调用对象$name=null;$age=0;Class people{//属性var $name;var $age;//方法function run(){echo '跑步';}}//创建对象$zs=new people();$zs->name='张三';$zs->age=23;echo $zs->name;$zs->run();//null类型$a=null;$b='';//空字符串if (empty($b)) {echo '空';} else {echo $b;}//给函数的形参加默认值function FunctionName($value='',$b=null){}FunctionName();//资源resource 连接数据库$link= @mysql_connect('127.0.0.1','root','root');var_dump($link);//自动转换$a=1;$b=2;$v=$a.$b;//转换为字符串var_dump($v);if ($a) {//自动转换为boolean类型echo '真';}//强制转换$num=1;var_dump((string)$num);//强制转换为字符串$str='123';var_dump((int)$str);//强制转换为整数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值