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;终止第二层循环,并开始下一次循环;
- php基础系列----3数据类型及运算和流程控制
- php学习基础篇之数据类型转换、运算符、if 、switch 流程控制
- Java语言基础(二)——数据类型、运算符和流程控制语句
- python基础-变量、数据类型、input、格式化、运算符、流程控制
- JavaScript基础系列2---数据类型和运算符
- PHP基础(3)---流程控制语句
- Java基础之运算符和控制流程语句
- 数据类型、运算符、流程控制、数组
- Java:数据类型、变量、运算符、控制流程
- PHP基础 数据类型 运算符
- php基础函数和php流程控制 循环
- 黑马程序员_Java基础_进制转换、基本数据类型、运算符、流程控制语句等
- JavaScript基础语法、语法规范、标识符与变量、数据类型、运算符、流程控制
- PHP基础----04流程控制
- php基础之一---流程控制
- PHP基础之流程控制
- php(3)——运算符、流程控制
- 第3天 数据类型及流程控制语句
- JAVA设计模式初探之装饰者模式
- Eclipse中建立Maven项目后,Java Resources资源文件下没有src/main/java文件夹
- Gradle 的repositories 配置多个URL
- 自定义数据库小框架使用元数据
- 菜单设计 CMenu
- php基础系列----3数据类型及运算和流程控制
- Hadoop安装遇到的各种异常及解决办法
- LeetCode 453. Minimum Moves to Equal Array Elements
- 有谁知道pos机刷卡费率多少?
- JQuery实现旅游导航菜单应用方便
- 单一职责原则
- 从贝叶斯方法谈到贝叶斯网络
- log4j加载自定义的日志的配置文件
- jquery, highcharts, Ajax读取json数据