php数据类型及运算

数据类型:
标量类型: int(intege), float, string, bool
复合类型: array, object
特殊类型: null, resouce
进制转换
十进制转二进制decbin(),除2取余倒着写
十进制转八进制decoct(),除8取余倒着写
十进制转十六进制dechex(),除16取余倒着写
二进制转十进制bindec(),每位数值乘以2的权值然后相加
八进制转十进制octdec() ,每位数值乘以8的权值然后相加
十六进制转十进制hexdec() ,每位数值乘以16的权值然后相加

浮点类型float, double, real

php中,单引号和双引号在有转义字符的时候有区别,单引号直接输出字符串,不进行转义,双引号可以进行转义

布尔类型:bool, boolean
在php中,隐含转换为布尔值的时候,会当作false的有:
0、0.0、null、“”、“0”、array()、空数组、未定义的变量
其他数据就当作true来看待了。

数组类型array
foreach( 数组名 as 下标变量$k => 值变量$v1 ){
//这里就是循环体,就可以使用两个变量$k, $v1
}

与类型相关的系统函数
var_dump():能够输出一个变量的完整信息。
getType():获取一个变量的类型名称,结果是一个单词(字符串), setType();设置一个变量的类型,语法: setType(变量名,目标类型)
isset(), empty(), unset();
isset()判断一个变量是否存在数据:
empty()判断一个数据是否为空:接近我们的日常观念(没有就是空)
unset():销毁(删除)一个变量。
is_XX类型() 系列函数:判断某个数据是否是某种类型,包括:
is_int(), is_float(), is_numeric(),is_bool(), is_array(), is_scalar():
is_numeric()对:3, 3.5,“3”,“3.14”判断都是true
is_scalar():判断是否为标量类型(即int,float,stirng,bool)

前加加和后加加的区别:
前++:先完成变量的递增运算,再取得该变量的值参与别的运算。
后++:先将原来变量的值临时存储,再将变量值递增,最后再将临时存储的值参与别的运算。
推论1:如果独立语句中进行自加运算,前自加后自加没有区别 。
推论2:如果前自加后自加是放在别的语句中,则会有所区别。
推论3: 前加加比后加加效率略高(在循环中建议使用前加加)。

条件(三目)运算符:
条件运算符就需要至少3个数据参与!
形式为:
数据1 ? 数据2 :数据3
通常,数据1最终应该是一个布尔值(如果不是,则会当作布尔值来使用)。
含义:
如果数据1为true,则运算结果为数据2, 否则运算结果为数据3
典型举例:
$score = 66;
$result 1= $score >= 60 ? “及格” : “不及格”; //结果是“及格”

$result 2= $score ? “及格” : “不及格”; //结果是“及格”,但含义完全不同,因为即使分数是33,也是及格。只有分数为0才是不及格。

三目运算符可以转换为if else语句来实现:
if( $score >= 60){
$result1 = “及格";
}
else{
$result1 = “不及格";
}

posted @ 2018-01-26 15:55  杨不凡  阅读(426)  评论(0编辑  收藏  举报