当前位置: 网学 > 编程文档 > PHP > 正文

PHP数据类型的总结分析

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/18

本文主要为广大网友提供“PHP数据类型的总结分析”,希望对需要PHP数据类型的总结分析网友有所帮助,学习一下!

PHP共有8中数据类型:

类型名称类型表示取值
bool布尔型true,false
integer整型-2147483647-2147483648
string字符串型字符串长度取决于机器内存
float浮点型最大值1.8e308
object对象通过new实例化 $obj=new person();
array数组类型$arr=array(1,2,3,4,5,6);//一维数组
resourse
null空值null

布尔型bool :
对于其他类型我们可以使用(bool)或者(boolean) 进行强制转换 eg:(bool)1=true;
以下几种情况在强制转化的时候默认为false:

转换结果
布尔型的false var_dump((bool) false)bool(false)
整型0 var_dump((bool) 0);bool(false)
浮点型0.0 var_dump((bool) 0.0);bool(false)
字符串‘0'' var_dump((bool) ''0'');bool(false)
空数组$arr=array(); var_dump((bool) $arr)bool(false)
不包含任何成员变量的空对象只在PHP4使用,PHP5中为truebool(false)
NULL或者尚未赋值的变量var_dump((bool) NULL)bool(false)
从没有任何标记(tags)的XML文档生成的SimpleXML 对象bool(false)

字符串''0.0''转换结果为bool(true)
注:-1和其他非零值(不论正负)都是true

整型integer:
整型的范围-2147483647--2147483647 ,如果超过该值会自动转换成float型
我们可以使用echo PHP_INT_SZIE 输出integer的字长,和机器有关。echo PHP_INT_MAX 输出integer的最大值
PHP中没有整除运算 如果执行 1/2 会产生 float的0.5 如果想实现整除效果,则可以使用 (int)(1/2)=0 或者使用round(25/7)=4
强制转化成整型 (int)或者(integer) bool型 ture 转换成 1 ,false转换成0

浮点型float:
取值范围 最大值 :1.8e308 不知道最小值是多少? 求高手告知
浮点数的字长也和机器有关, 好像没有PHP_FLOAT_SIZE 啊,求高手告知如何的到浮点数字长

字符串类型string:
定义字符串的4种方法:
1.单引号
2.双引号
3.heredoc语法结构
4.nowdoc 语法结构(PHP5.3.0之后)
单引号
单引号定义了最原始的字符串,里面的所有内容都按字符串处理,如果字符串中包含单引号则可以用\转义
双引号
双引号定义的字符串会解析一些特殊字符(\n,\b)和变量
可以将变量放置在双引号中的方式来代替将变量转换成 字符串(string):
$num=10;
$str = "$num"; //$str为字符串型的10
heredoc语法结构
<<<标示符
字符串本身
标示符
结束时的标示符必须在一行的开始位置,而且标示符的定义格式也必须按照PHP定义的规则,只能包含数字,字母,下划线,并且不能以数字下划线开头
结束标示符哪一行不允许有其他字符,可以在标示符后面添加一个分号,切分号前后也不能有tab或空格,否则PHP将无法解析该标示符,会继续向下查找标示符,如果在文件结尾前仍没有找到则会产生一个错误
heredoc就是一个没有使用双引号的双引号,就是里面可以包含双引号,且不用转义,而且可以解析特殊字符和变量
nowdoc 语法结构
<<<''标示符''
字符串本身
nowdoc的开始标示符必须使用单引号括起来,结束标示符和其他规则都和heredoc一样
nowdoc就是没有使用单引号的单引号,nowdoc包含的字符串会原样输出,里面包含的特殊字符和变量不会被解析

如果双引号中包含数组变量中的几种情况
//我们先定义以下数组
复制代码 代码如下:
[php]
$arr=array(
''one''=>array(
''name''=>''jiangtong'',
''sex''=>''男''
),
''two''=>''zhaohaitao'',
''three''=>''fanchangfa''
);

上面是的数组中第一个元素二维的,后两个是一维的,我们访问一维的时候下面几种方式:
复制代码 代码如下:
[php]
echo "$arr[two]"//key没有单引号
echo "$arr[''two'']"//key有单引号 会出错,如果我们改成 echo "{$arr[''two'']}"; 则可以正确输出结果
echo "{$arr[two]}"//有双大括号,但是key没有单引号 这种情况PHP会先寻找有没有常量banana,有的话则将其

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号