源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP数据类型的总结分析

  • 时间:2020-06-22 15:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP数据类型的总结分析
[b]PHP共有8中数据类型: [/b]
[b]类型名称[/b] [b]类型表示[/b] [b]取值[/b]
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:
[b]转换[/b] [b]结果[/b]
布尔型的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中为true bool(false)
NULL或者尚未赋值的变量var_dump((bool) NULL) bool(false)
从没有任何标记(tags)的XML文档生成的SimpleXML 对象 bool(false)
字符串'0.0'转换结果为bool(true) [b]注:-1和其他非零值(不论正负)都是true [/b] [b]整型integer: [/b]整型的范围-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 [b]浮点型float: [/b]取值范围 最大值 :1.8e308 不知道最小值是多少? 求高手告知 浮点数的字长也和机器有关, 好像没有PHP_FLOAT_SIZE 啊,求高手告知如何的到浮点数字长 [b]字符串类型string: [/b]定义字符串的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包含的字符串会原样输出,里面包含的特殊字符和变量不会被解析 如果双引号中包含数组变量中的几种情况 //我们先定义以下数组
[u]复制代码[/u] 代码如下:
[php] $arr=array( 'one'=>array( 'name'=>'jiangtong', 'sex'=>'男' ), 'two'=>'zhaohaitao', 'three'=>'fanchangfa' );
上面是的数组中第一个元素二维的,后两个是一维的,我们访问一维的时候下面几种方式:
[u]复制代码[/u] 代码如下:
[php] echo "$arr[two]"//key没有单引号 echo "$arr['two']"//key有单引号 会出错,如果我们改成 echo "{$arr['two']}"; 则可以正确输出结果 echo "{$arr[two]}"//有双大括号,但是key没有单引号 这种情况PHP会先寻找有没有常量banana,有的话则将其
替换,由于没有two常量则出错<span style="font-family: 'Courier New'; "> </span> 可见在访问一维数组的时候 要么不加key不加引号(考虑到第三种情况啊),加了就要被{}括起来,可以全不加。 多维数组测试
[u]复制代码[/u] 代码如下:
[php] echo "$arr[one][name]"; //输出结果为Array[name] 可见它返回了一个数组,只解析了一维 echo"{$arr['one']['name']}";//输出结果为jiangtong
在多维数组的访问中必须使用了大括号key必须使用双引号括起来 [b]数组类型 [/b]在字符串类型中已经提到,被大括号括起来的,如果不加key引号,是合法的,那么PHP首先会查找是否有名为key的常量,有的话就会被替换,没有的话会产生一个找不到常量的警告才按普通字符串处理,所以建议大家一定加单引号 转换成数组使用(array)type 或者array(type) ,但是如果将只有一个值的转换成数组,会得到一个元素的数组,且下标为0,将NULL转换成数组会得到空的数组 我们可以在遍历数组的时候改变数组的值,在PHP5.0以上可以使用引用实现
[u]复制代码[/u] 代码如下:
[php] $arr=array('a','b','c','d','e' ); foreach($arr as &$value) { $value=strtoupper($value); echo $value; }//输出结果 ABCDE
[b]Object对象类型 [/b]实例化对象我们使用new 加入有一个person类,我们可以通过以下方式
[u]复制代码[/u] 代码如下:
[php] $objPerson=new person();
[b]强制转换 (object):[/b] 如果将一个对象转化成对象那么它没有任何改变,对于其他任何值将会实例化一个stdclass的对象,如果该值为NULL,则会实例化一个空对象,如果 将数组转换成对象那么会将数组的key作为对象的属性,value为属性值,其他类型的值则名为scalar的成员变量包含该值
[u]复制代码[/u] 代码如下:
[php] $arr=array('one'=>'a','two'=>'b' ); $obj=(object)$arr; echo $obj->one //输出结果为a;
注:这是由key的数组如果没有字符key的数组,我不知道如何访问,谁知道希望告诉小弟一下,谢谢。 对于其他值
[u]复制代码[/u] 代码如下:
[php] $obj1=(object)'jiang'; echo $obj1->scalar;//输出结果jiang
[b]NULL 空类型 [/b]null大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,下面三种情况变量被认为为NULL 1.被赋值为NULL 2.尚未被赋值 3.被unset(); [b]PHP type comparison tables[/b]
[b]Comparisons of $x with PHP functions[/b]
Expression gettype() empty() is_null() isset() boolean :[i]if($x)[/i]
[i]$x = "";[/i] string [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]$x = null[/i] NULL [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]var $x;[/i] NULL [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b]
$x is undefined NULL [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]$x = array();[/i] array [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]$x = false;[/i] boolean [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]$x = true;[/i] boolean [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = 1;[/i] integer [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = 42;[/i] integer [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = 0;[/i] integer [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]$x = -1;[/i] integer [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = "1";[/i] string [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = "0";[/i] string [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]$x = "-1";[/i] string [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = "php";[/i] string [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = "true";[/i] string [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]$x = "false";[/i] string [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[b]Loose comparisons with [i]==[/i][/b]
[b]TRUE[/b] [b]FALSE[/b] [i]1[/i] [i]0[/i] [i]-1[/i] [i]"1"[/i] [i]"0"[/i] [i]"-1"[/i] [b]NULL[/b] [i]array()[/i] [i]"php"[/i] [i]""[/i]
[b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b]
[i]1[/i] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]0[/i] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b]
[i]-1[/i] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"1"[/i] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"0"[/i] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"-1"[/i] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[b]NULL[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b]
[i]array()[/i] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"php"[/i] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]""[/i] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b]
[b]Strict comparisons with [i]===[/i][/b]
[b]TRUE[/b] [b]FALSE[/b] [i]1[/i] [i]0[/i] [i]-1[/i] [i]"1"[/i] [i]"0"[/i] [i]"-1"[/i] [b]NULL[/b] [i]array()[/i] [i]"php"[/i] [i]""[/i]
[b]TRUE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]1[/i] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]0[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]-1[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"1"[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"0"[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"-1"[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[b]NULL[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]array()[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b] [b]FALSE[/b]
[i]"php"[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b] [b]FALSE[/b]
[i]""[/i] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]FALSE[/b] [b]TRUE[/b]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部