2018-1-24 PHP数据类型和运算符

北战南征 提交于 2020-02-03 00:33:50

  有关于php数据类型和运算符的相关知识:

整体划分:

标量类型: int, float, string, bool

复合类型: array, object

特殊类型: null, resouce

整数类型:int  integer

整数进制:十进制、八进制、十六进制

十进制转二进制:$v1 = decbin(123);   注意:参数必须是10进制数字,转换后的结果必然是二进制字符串。

十进制转八进制:$r1 =  decoct(十进制数字);  结果是一个8进制数字字符串。

 

十进制转十六进制:dechex(十进制数字); 结果是16进制数字字符串。

二进制转十进制:$v1  =  bindec(“二进制数字字符串”) ;  得到的结果是10进制数字

 

八进制转十进制:$v1  =  octdec(“8进制数字字符串”)   得到的结果是10进制数字

 

十六进制转十进制:$v1  =  hexdec(“16进制数字字符串”) //得到的结果是10进制数字

 

注意:十进制转为其他进制结果是字符串,其他进制转为十进制要求给定数据是字符串形式。

浮点类型:float、double、real

 

$v1 = 1.234;   带小数点,,就是浮点类型。

 

$v2 = 1.234E3;  含义是:1.234乘以103次方,即1234E的形式就是浮点数。

 

浮点数不应直接进行大小比较。

当整数运算的结果超出整数的范围后,会自动转换为浮点数。(整数的范围,在32位系统下,大约正负20多亿)

字符串类型string:

php中,单引号和双引号字符串,是有不同细节含义的字符串。

单引号字符串:

$s1="php34.com";

$str1='ab\nc"d\'efg:$s1';

echo"<p>$str1</p>";

结果:ab\nc"d\'efg:$s1

双引号字符串:

$str2="ab\nc"d\",\101,\x41,efg:$s1";

echo"<p>$str2</p>"

结果:ab  c' d",A,A,efg:php34.com

布尔类型:bool,boolean

用于标识某种只有两个状态值的数据:truefalse

php中,其他各种数据,隐含转换为布尔值的时候,会当作false的有:0、0.0、null、’“”、“0”、array(); (空数组)未定义的变量 (当然要尽量避免)

其他数据就当作true来看待了。

数组类型:arrgy

 

 

php中,数组的下标可以使用整数或字符串。数字下标常说“索引号”,字符串下标常说“键名”。

 

 

 

数组中还可以存储数组,就可以构成“多维数组”的形式。

 

数组遍历在php中有专门语法:

 

foreach( 数组名   as   下标变量$k  =>  值变量$v1 {

 

//这里就是循环体,就可以使用两个变量$k, $v1

 

}

对象类型object

php中的对象,通常都是指自己定义的对象,纯语法的。

资源类型resource

空类型null

类型转换:

常用的一个转换(不管是自动转换还是强制转换),就是字符串转换为数字:

 

“5” ==>>  5 //整数

 

“5.5” ==>> 5.5浮点数

 

“5abc” ==>> 5整数

 

“5.5ab” ==>> 5.5浮点数

 

“abc5” ==>> 0整数

 

“abc” ==>> 0整数

 

“” ==>> 0

从左往右第一个数字,如果开头是字母,取0;空值,取0;

与类型相关的系统函数:

 

 

var_dump()  能够输出一个变量的完整信息。

getType()  获取一个变量的类型名称,结果是一个单词(字符串);

 setType()  设置一个变量的类型,

isset()  判断一个变量是否存在数据;

empty()  判断一个数据是否为空;

unset()  销毁(删除)一个变量。

运算符:+、-、*、/、%(取余)

 

注意取余运算%,先取整,再取余。

自增自减:

 

常规:对数字进行自加1或自减1。

 

字符串: 只能自增,且自增的效果就是“下一个字符”。

 

布尔值递增递减无效。

 

null递减无效,递增结果为1。

比较运算符:

如果有布尔值,均转为布尔值比较:规则:true > false

如果两边都是纯数字字符串,转为数字比较;否则,就按字符串比较

 

 

字符串的比较规则为:按字符的先后顺序依次一个一个比较,发现哪个大,则就表示整体大,后续不再比较。

三目运算符:

形式为:数据1  ?  数据2 :数据3  (数据1成立执行数据2,不成立执行数据3)

   

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!