php基础系列----3数据类型及运算和流程控制

来源:互联网 发布:标记地图的软件 编辑:程序博客网 时间:2024/05/21 17:41

数据类型:

1:整型:
  可识别十六,八,十进制;
2:浮点型
  两种表示形式:指数形式或者小数形式;
  存储则全用指数形式;
3:bool:
  除过false,0,null,undefined,nan,”“,”,以外均为true;
4:null:
  空值,和0不同,和undefined不同;在php中代表基本数据类型;
5:undefined:
  未定义类型;

6:字符串:
  在php中""''代表的都是字符串;
  但是""会主动解析$符号,而''是不会主动解析$符号的;

  

数据类型转换

1:(目标数据类型)$var:
    不会对数据本身进行数据类型转换,只是在赋值时对赋值对象进行数据转换;
2:settype($name):
  设置变量数据类型,会对数据本身进行数据类型转换;
3:表达式类型提升:
  在表达式中最终的结果类型是表达式中类型最高的数据类型;   

  

数据类型的获取

1:gettype($var):获取变量本身的数据类型;返回的是数据类型的名称;
2:is_xxx($var):确定变量是否是指定的数据类型,返回布尔值;


php中的运算

1:算术运算
  项目:+ - * / %:
  ++/- -是自增自减运算;而且要特别注意自增自减符号放在变量之前和之后本质是不一样的;放在前面是先进行自增或者自减运算,再进行其他运算,放在后面则是先进行其他运算后进行自增自减;并且自增自减运算必须是针对变量进行的;
  可参与算术运算的项目有:数字,字符串,null;

  echo 1+"b"; //输出1  echo null+1;//输出1   $a = 'a';  echo $a++;//输出a  echo +$+a;//输出b;

2:比较运算:
  项目有:< > <= >= == === != !===
  注意几个问题:
  1:=== 和 ==的区别:===要求比较双方必须在参数类型和参数值上保持一致;而==则只需比较双方在值上相等即可:看个比较经典的例子:

$var1 = '123acd';$var2 = 123;echo $var1 == $var2;//输出1var_dump($var1 === $var2);//输出false

  2:相同的两个浮点数在比较是否相等的时候有可能会返回false:
  3:比较双方如果一方是布尔值,则会将另一方也转为布尔值比较;
  4:如果是数字和数字字符串比较是按照数字比较;
  5:如果字符串和字符串比较则会按位比较;
3:逻辑运算
  项目:&& || ! and or
  运算结果是布尔值;
  在php中有逻辑短路现象:
  如果前一项是假,那么后一项将不会再判断,这就是逻辑短路现象;因此将容易判断的项放置在前面程序运行速度会更快;
4:按位运算
  项目:<< 左移运算     >>右移运算
  运算方式:左移一位相当于乘以2;右移一位相当于除以2;
  计算结果是具体的值,而非布尔值;
5赋值运算
  项目:+= -= *= /= ++= –= %=
  运算方式:会先进行算数运算,在进行赋值运算;
6一些特殊运算
  项目
  . 点在php中用来连接字符串;
  a =a>0:c ?b //: ? 三目运算符;:号前面的运算表达式如果是真,则给a赋予c,否则赋予b;

流程控制

条件:
if:

if(){}
if(){}else{}
if(){}else if(){}else{}

switch:

switch($var){
  case 1:
   //代码
  break;
  case 2:
   //代码
  break;
  default:
   //代码
}

特别注意:在switch中$var只能是字符串,整型数据,引用型数据,不能是浮点数;

循环:
for循环:
1:

for(i=0;i<10;i++){
//循环体
}

2:

for(;;)将会是死循环

3:foreach
第一种:

foreach($array as $key=>$value){//这种会遍历出键和值}

第二种:

foreach($array as $value){//这种只会遍历出值}

4:while:

$i =0;while($i< $max){    //执行代码    $i++;}

5:do while:

$i = 0;do{//执行代码$i++;}while($i< $max)

循环中断:
break;//终止当前循环;
break 2;//终止第2层循环;

continue;//终止当前循环,并开始下一次循环;
continue 2;终止第二层循环,并开始下一次循环;

0 0
原创粉丝点击