PHP数据类型
在PHP当中一共有9种原始数据类型
一.标量类型
boolean(布尔)
布尔类型数据,只有两个类型数据,true或者false(两个都不区分大小写)
转换为boolean值
要明确的将一个值转换为boolean,用(boole)或者(boolean)来进行强制转换,但是在流程控制当中,控制条件会自动转换为boolean类型值来判断
以下值通过boolean转换后为false,其余的都为true
0 0.0 "0" false "" []
integer(整数)
整数按进制可分为二进制,八进制,十进制(Decimal),十六进制来表示
二进制(Binary):0b开头
八进制(Octal):0开头
十六进制(Hexadecimal):0x开头
$n1 = 0b1010;//二进制,等于十进制的10 $n2 = 123;//十进制 $n3 = 0123;//八进制,等于十进制的83 $n4 = 0x123;//16进制,等于十进制的291 echo "<br>n1=" . $n1; echo "<br>n2=" . $n2; echo "<br>n3=" . $n3; echo "<br>n4=" . $n4;
//程序默认自动转换为10进制
PHP中的进制转换:
十进制转二进制 decbin()
二进制转八进制 binoct()
规则就是:
转换的方法前三位英文为待转数进制英文缩写三个字母
转换的方法后三位英文为转换后进制英文缩写三个字母
float(double)
朋友,请记住一句话,在计算机中小数是不可靠的
在计算机当中,二进制代表的小数是不准确的。
$v1 = 0.1; $v2 = 0.2; $v3 = 0.3; var_dump($v1+$v2==$v3);//这里的结果是boolean的false //手册上有一个例子 floor((0.1+0.7)*10 ); //这里的结果是7,因为0.1+0.7在计算机永远似等于0.8而不等于0.8
注:科学计数法的数据类型也是float
string(字符串)
一个字符串由多个字符组成
1.变量解析
简单解析
$v1 = "hello";
echo "$v1";//此时打印的是hello,而不是$v1
复杂解析(复杂语法不是因为其语法复杂而得名,而是因为它可以使用复杂的表达式)
$v1= 'hello';
echo "This is { $great}";// 无效,输出: This is { hello} 因为花括号{只有紧挨着$才会被识别
2. 存取和修改字符串中的字符
这点和数组类似,都能通过下标索引来取值和赋值
//字符串的取值和赋值 //可以通过[]或者{}取值 //可以通过strlen()来计算字符串的长度 $v33 = "xiaobai"; echo "<br>"; for ($i=0; $i < strlen($v33); $i++) { echo "<br>"; echo $v33[$i]; }