第2章 PHP基础(语法、数据类型、控制语句及练习题、答案)

上传人:门**** 文档编号:243362685 上传时间:2024-09-21 格式:PPT 页数:116 大小:2.85MB
返回 下载 相关 举报
第2章 PHP基础(语法、数据类型、控制语句及练习题、答案)_第1页
第1页 / 共116页
第2章 PHP基础(语法、数据类型、控制语句及练习题、答案)_第2页
第2页 / 共116页
第2章 PHP基础(语法、数据类型、控制语句及练习题、答案)_第3页
第3页 / 共116页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,2016/10/16,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2016/10/16,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2016/10/16,#,php,网站,开发基础,应用技术学院,任课教师,:,第,2,章,PHP,基础知识,本节课学习要点,1,.,掌握,PHP,代码基本语法,2,.,掌握,基本,的编码规范,3.,熟练,PHP,程序的,组成,、,基本格式,与输出语句,3,2024年9月21日,2024年9月21日,3,2.1 PHP,语法基础,2.1.1 PHP,标记风格,Web,服务器通过标记识别,PHP,代码的开始和结束,标记之间的所有文本都被解释为,PHP,语句,标记之外的文本被认为是,HTML,语句。,标准,的,PHP,标记风格如下:,4,2024年9月21日,2024年9月21日,4,2.1 PHP,语法基础,2.1.2 PHP,程序注释,PHP,支持,3,种风格的程序注释(注释中不要出现,PHP,标记符号),。,1,、,单行注释,以“,/,”开始的注释,2,、,多,行,注释,包含在,“,/*,”,和,“,*/,”之间的注释,3,、,shell,风格的注释,以,“,#,”开始,的注释,5,2024年9月21日,2024年9月21日,5,2.1 PHP,语法基础,例,2-1 3,种注释,6,2024年9月21日,2024年9月21日,6,2.2 PHP,数据类型,PHP,支持,8,种,原始,类型:,4,种,标量类型,:,boolean,(布尔型,)、,string,(字符串,)、,integer,(整型,)、,float/double,(,浮点,型);,2,种,复合类型,:,array,(数组,)、,object,(对象,);,2,种,特殊类型,:,resource,(资源,)、,NULL,(空,)。,7,2024年9月21日,2024年9月21日,7,2.2 PHP,数据类型,2.2.1,标量数据类型,1,、布尔型(,boolean,),布尔型,是,PHP,中常用的数据类型,通常用于条件表达式或循环表达式中,其值为,true,或,false,。,例,2-2,布尔型数据,运行结果,:,变量,$a,的值为,true,8,2024年9月21日,2024年9月21日,8,2.2 PHP,数据类型,2,、字符串型(,string,),字符串由数字、字母和符号组成。字符串中的每一个字符占,1,个字节。字符串有,3,种定义形式:单引号,(,),,双引号,(,“,),,界定符,(),。,PHP,中用“,.,”来连接字符串或字符串变量。,9,2024年9月21日,2024年9月21日,9,2.2 PHP,数据类型,区别:,单引号包含的变量按普遍字符输出。,双引号包含的变量按其实际值输出。,例,2-3,单、双引号字符串对比输出,运行,结果:,变量,$s,的值是:,ABC123,10,2024年9月21日,2024年9月21日,10,2.2 PHP,数据类型,界定,符字符串定义格式,$,变量名,=,开始界定符,单行或多行字符串,结束界定符,注意,:,结束界定符必须,另起一行,且在,行首,,前面不许有,空格,及,其他字符,。,11,2024年9月21日,2024年9月21日,11,2.2 PHP,数据类型,例,2-4,界定符字符串定义及输出,?php,$str=,?php,$i=,显示该行内容,;,echo std,这和双引号没有什么区别,,$i,同样可以被,输出。,$i,的内容为:,$i,std;,?,运行结果,:,ok,hello,I,will,运行结果:,这,和双引号没有什么区别,,$i,同样可以被输出,。,$i,的内容为:显示该行内容,12,2024年9月21日,2024年9月21日,12,2.2 PHP,数据类型,字符串中的字符也可以用数组索引的形式来表示。,例,2-5,字符串中字符以数组元素形式输出,运行结果:,13,2024年9月21日,2024年9月21日,13,2.2 PHP,数据类型,3,、,整,型(,integer,),整型类型只包含整数。整数可以用十进制、八进制、十六进制表示,有效范围是:(,-2147483648,,,+2147483647,)。,如果在八进制中出现非法数字(,8,和,9,),则非法数字及其后面的数字被忽略。,14,2024年9月21日,2024年9月21日,14,2.2 PHP,数据类型,例,2-6,整数不同进制形式输出,运行结果:,15,2024年9月21日,2024年9月21日,15,2.2 PHP,数据类型,4,、浮点型(,float/double,),浮点数据类型用来保存小数。,PHP4,以前版本中,浮点型的标示为,double,,,PHP4,以后改为,float,。,doub,与,float,没有区别。,浮点,型数据书写格式:,标准,格式:,3.14,-0.257,科学计数,格式:,314E-2,,,-2.57E1,16,2024年9月21日,2024年9月21日,16,2.2 PHP,数据类型,2.2.2,复合数据类型,1,、数组(,array,),一,组数据集合,形成一个可操作,数据,体。数组中每个数据称为一个元素,元素包含索引和值两个属性。,元素索引:由数字或字符串组成,元素,值:可以是任意数据类型的数据,2,、对象(,object,),通过,new,运算得到一个类的对象。,17,2024年9月21日,2024年9月21日,17,2.2 PHP,数据类型,2.2.3,特殊,数据类型,1,、资源(,resource,),资源是一种特殊变量,又叫句柄,保存到外部资源的一个引用。,例如:同时有多个数据库连接存在时,要进行查询和关闭连接等操作,必须指明某个操作是对应哪个连接的。因此给每个连接赋予一个标识值,一般是整数,这种标识值的数据类型称为资源型。,18,2024年9月21日,2024年9月21日,18,2.2 PHP,数据类型,2,、空值(,NULL,),表示,没有为变量设置任何值。,NULL,类型唯一的值就是“,NULL,”。,在下列情况时一个变量的值是,NULL,:,被赋值为,NULL,;,尚未被赋值;,被执行,unset(),方法。,19,2024年9月21日,2024年9月21日,19,2.2 PHP,数据类型,2.2.4,数据类型转换,PHP,在变量定义方面比较自由,因此,PHP,被称为弱类型语言,也称为动态语言。,PHP,数据类型转换有,3,种方式:,1.,自动转换,(,运算符,),;,2.,强制转换;,3. setType,()方法转换。,20,2024年9月21日,2024年9月21日,20,2.2 PHP,数据类型,1.,自动转换,定义变量时不需指定数据类型,,PHP,会根据具体引用变量的具体应用环境,将变量转换为合适的数据类型。,例,2-7,自动转换,运行结果:,21,2024年9月21日,2024年9月21日,21,2.2 PHP,数据类型,2.,强制转换,将某个类型的数据强制转换为括号内指定类型的数据。,转换目标类型,转,换,规则,转换示例,(integer,),将其他数据类型强制转换为整型,$a = 3;$b =,(integer)$,a,;,(boolean,),将其他数据类型强制转换为布尔型,$a = 3;$b =,(boolean)$,a;,(float),(double),将其他数据类型强制转换为浮点型,$a = 3; $b = (float)$a;$c = (double)$a;,(string),将其他数据类型强制转换为字符串,$a = 3; $b = (string)$a;,(array),将其他数据类型强制转换为数组,$a = 3; $b = (array)$a;,(object),将其他数据类型强制转换为对象,$a = 3; $b = (object)$a;,22,2024年9月21日,2024年9月21日,22,2.2 PHP,数据类型,A.,强制转换为整型的转换规则,目,标,类型,原类型,转换规则,转换示例,整型,布尔型,TRUE,转换为,1,$a=true;,$,b=(integer)$a;,则,$,b,的值为,1,FALSE,转换为,0,$a=false;,$b=(integer)$a;,则,$,b,的值为,0,浮点型,向下取整,只保留整数部分,$a=125.65;,$b=(integer)$a;,则,$,b,的值为,125,字符串型,字符串为纯整型数字,转换成相应的整型数字,$a=023;,$b=(integer)$a;,则,$,b,的值为,23,字符串为带小数点数字,去除小数点后面部分,保留整数部分,$a=12.4;,$b=(integer)$a;,则,$,b,的值为,12,字符串以整型数字开头,去除整型数字后面部分,然后转换成相应的整型数字,$a=19a,这,5;,$,b=(integer)$a;,则,$,b,的值为,19,字符串以带小数点数字开头,去除小数后面部分,然后转换成相应的整型数字,$a=3.1a,这,1;,$,b=(integer)$a;,则,$,b,的值为,3,字符串内容以非数字开头,转换为,0,$a=,字,this;,$,b=(integer)$a;,则,$,b,的值为,0,23,2024年9月21日,2024年9月21日,23,2.2 PHP,数据类型,B.,强制转换为浮点型的转换规则,注,:某些运算虽然结果看上去是整型,但实际是浮点型。,目,标,类型,原类型,转换规则,转换示例,浮点型,整型,将整型,数据直接,转换为浮点型,数值保持不变,$a=78; $b=(float)$a;,则,$,b,的值为,78,布尔型,TRUE,转换,成,1(,浮点型,),$a=true; $b=(float)$a;,则,$,b,的值为,1,FALSE,转换,成,0(,浮点型,),$a=false; $b=(float)$a;,则,$,b,的值为,0,字符串,字符串为整型数字,转换成相应的浮点型数字,$a=023; $b=(float)$a;,则,$,b,的值为,23,字符串以数字开头,去除数字后面部分,然后转换成相应的浮点型数字,$a=19a,这,5; $,b=(float)$a;,则,$,b,的值为,19,字符串以带小数点数字开头,只保留数字部分,然后转换成相应的浮点型数字,$a=3.1a,这,1; $,b=(float)$a;,则,$,b,的值为,3.1,字符串以非数字内容开头,转换,成,0(,浮点型,),$a=,字,is5.0; $b=(float)$a;,则,$,b,的值为,0,24,2024年9月21日,2024年9月21日,24,2.2 PHP,数据类型,C.,强制转换为布尔型的转换规则,目,标,类型,原类型,转换规则,转换示例,布尔型,整型,整型数字,0,转换为,FALSE,$a=0; $b=(boolean)$a;,则,$,b,的值为,false,非零的其他整型数字,转换为,TRUE,$a=98; $b=(boolean)$a;,则,$,b,的值为,true,浮点型,整型数字,0,转换为,FALSE,$a=0.0; $b=(boolean)$a;,则,$,b,的值为,false,非零的其他浮点型数字,转换为,TRUE,$a=5.5; $b=(boolean)$a;,则,$,b,的值为,true,字符串,空字符串,转换为,FALSE,$a=; $b=(boolean)$a;,则,$,b,的值为,false,字符串内容为零,转换为,FALSE,$a=0; $b=(boolean)$a;,则,$,b,的值为,false,其他字符串,转换为,TRUE,$a=,字,is5.0; $b=(boolean)$a;,则,$,b,的值为,true,NULL,转换为,FALSE,$a=null;,$b=(boolean)$a;,则,$,b,的值为,false,数组,空数组,转换为,FALSE,$a=array(); $b=(boolean)$a;,则,$,b,的值为,false,非空数组,转换为,TRUE,$a=array(1,2); $b=(boolean)$a;,则,$,b,的值为,true,25,2024年9月21日,2024年9月21日,25,2.2 PHP,数据类型,D.,强制转换为数组的转换规则,目,标,类型,原类型,转换规则,转换示例,数组,整型,转换,为数组时,数组只包含一个数据元素,就是未转换前的数据,并且数据类型与未转换前相同,$a=-75;,$,b=(array)$a;,则,$,b,的值为,-75,$a=1.5e-1;,$b=(array)$a;,则,$,b,的值为,0.15,浮点型,$a=true;,$b=(array)$a;,则,$,b,的值,为,true,布尔型,TRUE,$a=false;,$,b=(array)$a;,则,$,b,的值为,false,FALSE,$a=,转为数组,; $b=(array)$a;,则,$b,的值为,转为数组,字符串,对象,转换,时将对象的成员变量的名称作为各数组元素的,key,。,如果,成员变量为私有的(,private,),转换后,key,的名称为“类名,+,成员变量名,”;,如果,成员变量为公有的(,public,),转换后,key,的名称为成员变量,名;,如果,成员变量为受保护的(,protected,),转换后,key,的名称为“*,+,成员变量名”,class Test private $m; public $n;,protected,$p; public function _construct($m,$n,$p) $this-m = $m;,$,this-n = $n;,$,this-p = $p; $,a=new,Test(15,test,0.19,) ;,$b=(array)$a;,则,$,b0Test0m=15,; $,bn=test,; $,b0*0p=0.19;,NULL,直接,转换为一个空数组,$a=null; $b=(array)$a;,则,$,b,的值为,NULL,26,2024年9月21日,2024年9月21日,26,2.2 PHP,数据类型,E.,强制转换为对象的转换规则,目标,类,型,原类型,转换规则,转换示例,对象,整型,将其他类型变量转换为对象时,将会新建一个名为“,scalar,”的属性,并将原变量的值存储在 这个属性中,$a=-75;,$b=(object)$a;,则,$,b-scalar,的值为,-75,浮点型,$a=1.5e-1;,$b=(object)$a;,则,$,b-scalar,的值为,0.15,布尔型,TRUE,$a=true;,$b=(object)$a;,则,$,b-scalar,的值为,true,FALSE,$a=false;,$b=(object)$a;,则,$,b-scalar,的值为,false,字符串,$a=,转为对象,;,$,b=(object)$a;,则,$,b-scalar,的值为,转为对象,数组,将数组转换为对象时,数组的,key,作为对象成员变量的,名称;,对应,各个,key,的,value,作为对象成员变量保存的值,$a=array(first=,数组,1,second=,数组,2,);,$,b=(object)$a,;,则,$,b-first,的值为,数组,1,$,b-second,的值为,数组,2,NULL,直接,转换为一个空对象,$a=null;,$b=(object)$a;,则,$,b,为空对象,27,2024年9月21日,2024年9月21日,27,2.2 PHP,数据类型,F.,强制转换为字符串型的转换规则,目标,类,型,原类型,转换规则,转换示例,字符串,整型,转换,时直接,在整型数据两边加上双引号作为转换后的结果,$a=-75;,$b=(string)$a;,则,$,b,的值为,-75,浮点型,转换,时直接,在浮点型数据两边加上双引号作为转换后的结果,$a=1.5e-1;,$b=(string)$a;,则,$,b,的值为,0.15,布尔型,TRUE,TRUE,转换为字符串“,1”,$a=true;,$b=(string)$a;,则,$,b,的值为,1,FALSE,FALSE,转换为字符串“,0”,$a=false; $b=(string)$a;,则,$,b,的值为,0,数组,直接,转换为字符串“,Array”,$a=array(first=,数组,1,second=,数组,2); $,b=(string)$a,;,则,$,b,的值为,Array,NULL,直接,转换为空字符串,$a=null; $b=(string)$a;,则,$,b,的值为,28,2024年9月21日,2024年9月21日,28,2.2 PHP,数据类型,3. setType,()方法转换,setType,()方法将指定的变量转换成指定的数据类型。,语法:,setType,(要转换的变量名,目标数据类型),29,2024年9月21日,2024年9月21日,29,2.2 PHP,数据类型,例,2-8 setType,()方法转换,运行结果:,30,2024年9月21日,2024年9月21日,30,2.3 PHP,常量及其应用,2.3.1,常量声明,常量名由,字母,、,数字,、,下划线,组成,首字符不能是,数字,。,常量声明语法:,define(,常量名,常量值,大小写敏感参数,),说明:,声明时,常量名和常量值必须给出,大小写敏感参数的值为逻辑值,默认为,false,,表示大小写敏感;若值为,true,,则表示大小写不敏感。,31,2024年9月21日,2024年9月21日,31,2.2 PHP,数据类型,例,2-9,常量声明的大小写敏感参数,运行结果:,32,2024年9月21日,2024年9月21日,32,2.3 PHP,常量及其应用,2.3.2,使用常量,常量可赋给某个变量,通过变量来使用常量;也可以直接通过常量名使用该常量。,通过变量获取常量值语法,$,变量名,=,常量名,constant($,变量名,),33,2024年9月21日,2024年9月21日,33,2.2 PHP,数据类型,例,2-10,获取常量值,运行结果:,34,2024年9月21日,2024年9月21日,34,2.3 PHP,常量及其应用,2.3.3,系统预定义常量,PHP,可通过系统预先定义的常量获取相关信息(系统常量见教材,P20,)。,例,2-11,系统常量,运行结果:,35,2024年9月21日,2024年9月21日,35,2.4 PHP,变量及其应用,2.4.1,变量名称,变量名称遵循以下规定:,(1),变量名必须以美元符号,$,开始;,(2),变量名开头可以以下划线开始;,(3),变量名不能以数字字符开头;,(4) PHP,的变量名区分大小写,;,36,2024年9月21日,2024年9月21日,36,2.4 PHP,变量及其应用,2.4.2,变量赋值,1,、直接赋值,PHP,中定义变量时不需要指定变量的类型,系统会根据变量的值决定其类型。,通过赋值运算符为变量直接赋值。,如果定义变量时没有为变量赋初值,那么在使用变量时,系统会根据变量在语句中所处的位置确定其类型,并为该变量赋一个与其类型匹配的默认值。字符串类型的初值为空值,整型类型的初值为,0,;布尔型的初值为,false,。,37,2024年9月21日,2024年9月21日,37,2.3 PHP,常量及其应用,例,2-12,变量默认初始值示例,运行结果:,38,2024年9月21日,2024年9月21日,38,2.4 PHP,变量及其应用,2,、变量间赋值,当变量,1,定义并赋值后,将变量,1,赋给变量,2,称为变量间赋值。赋值后,两个变量使用各自的内存,互不干扰。,语法格式:,$,变量,2 =$,变量,1,39,2024年9月21日,2024年9月21日,39,2.4 PHP,变量及其应用,例,2-13,变量间赋值示例,运行结果:,40,2024年9月21日,2024年9月21日,40,2.4 PHP,变量及其应用,3,、引用赋值,引用赋值是指通过“,&,”符号实现不同变量名访问同一个变量空间。改变一个变量的值,另一个变量值也改变。,语法格式:,$,变量,2 =&$,变量,1,41,2024年9月21日,2024年9月21日,41,2.4 PHP,变量及其应用,例,2-14,引用赋值示例,运行结果:,42,2024年9月21日,2024年9月21日,42,2.4 PHP,变量及其应用,2.4.3,可变变量,一个变量的值作为另一个变量的名称,这种形式称为可变变量。可变变量通过在一个变量名前使用两个“,$,”符号实现,语法格式:,$,变量,2 =$,变量,1,43,2024年9月21日,2024年9月21日,43,2.4 PHP,变量及其应用,例,2-15,可变变量赋值示例,运行结果:,44,2024年9月21日,2024年9月21日,44,2.5 PHP,运算符,运算符,php,运算符包括算术运算符、比较运算符、条件运算符、字符串运算符、赋值运算符、位运算符、递增运算符或递减运算符等。,45,2024年9月21日,2024年9月21日,45,2.5 PHP,运算符,2.5.1,算术运算符,1,、除(,/,):多数情况下结果为浮点数。,特例,:当两个操作数都是整数(或字符串转换成的整数)并且正好能整除时,得到的结果是整数。,2,、取模(,%,) :当被除数是负数时,得到的结果是负数。,46,2024年9月21日,2024年9月21日,46,2.5 PHP,运算符,2.5.1,算术运算符,操作符,说明,示例,+,加法运算,$a=-30; $b=25;,则,$,c=$a+$b,的值为,-5,-,减法运算,$a=15;,$b=-5;,则,$,c=$a-$b,的值为,20,*,乘法运算,$a=2;,$b=6;,则,$,c=$a*$b,的值为,12,/,除法运算,$a=10;,$b=2;,则,$,c=$a/$b,的值为,5,$a=10;,$b=-2;,则,$,c=$a/$b,的值为,-5,$a=-10; $b=2;,则,$,c=$a/$b,的值为,-5,%,取模运算,$a=21;,$b=4;,则,$,c=$a%$b,的值为,1,$a=-21; $b=4;,则,$,c=$a%$b,的值为,-1,$a=21;,$b=-4;,则,$,c=$a%$b,的值为,1,47,2024年9月21日,2024年9月21日,47,2.5 PHP,运算符,2.5.2,比较,运算符,1,、,=,和!,=,只考虑数值是否相同,不考虑数据类型,2,、,=,和!,=,既考虑数值是否相同,也考虑数据类型是否相同,操作符,说明,示例,大于,$a=abc; $b=5;,则,$,c=$a,小于,$a=15;,$b=20;,则,$,c=$a$b,的值为,false,=,小于等于,$a=2;,$,b=6;,则,$,c=$a=,大于等于,$a=10;,$b=2;,则,$,c=$a=$b,的值为,true,=,等于,$a=4.0;,$b=4;,则,$,c=$a=$b,的值为,true,!=,不等于,$a=0;,$b=abc;,则,$,c=$a!=$b,的值为,false,=,恒等于,$a=4.0;,$b=4;,则,$,c=$a=$b,的值为,false,!=,不恒等于,$a=0;,$,b=abc;,则,$,c=$a!=$b,的值为,true,48,2024年9月21日,2024年9月21日,48,2.5 PHP,运算符,2.5.3,条件,运算符,条件运算符不用于两个语句或程序的选择,一般用于根据一个表达式在另外两个表达式中选一个。通常将条件表达式放在括号内。,语法,表达式,1,?表达式,2,:表达式,3,规则,当表达式,1,为真时,执行表达式,2,,否则执行表达式,3,49,2024年9月21日,2024年9月21日,49,2.5 PHP,运算符,2.5.4,字符串,运算符,PHP,程序中的字符串运算符是“,.,”,起作用是将前后两个字符串连接为一个新字符串。,注意,:“,+,”在,PHP,中并不是字符串连接运算符,50,2024年9月21日,2024年9月21日,50,2.5 PHP,运算符,2.5.5,赋值运算符,操作符,说明,示例,=,将右边表达式的值赋给左边表达式,$a=3;$b=$a;,则,$,b,的值为,3,+=,将左边变量的值加上右边表达式的值后再赋给左边变量,$a=3; $b=1; $b+=$a;,则,$,b,的值为,4,-=,将左边变量的值减去右边表达式的值后再赋给左边变量,$a=3; $b=1; $b-=$a;,则,$,b,的值为,-2,*,=,将左边变量的值乘以右边表达式的值后再赋给左边变量,$a=3; $b=1; $b*=$a;,则,$,b,的值为,3,/=,将左边变量的值除以右边表达式的值后再赋给左边变量,$a=3; $b=1; $b/=$a;,则,$,b,的值为,0.33333333,.=,将右边表达式的值附加在左边变量值后面构成,新字符串后再赋给左边变量,$a=new string!; $b=1; $b.=$a;,则,$,b,的值为,1,new string!,%=,将左边变量的值除以右边表达式的值取余数,把余数赋给左边变量,$a=3; $b=1; $b%=$a;,则,$,b,的值为,1,51,2024年9月21日,2024年9月21日,51,2.5 PHP,运算符,2.5.6,自增、自减运算符,操作符,位置,说明,示例,+,位于变量前面,变量值先加,1,,然后用该变量的新值参与计算,$a=3; $b=1; $c=(+$a)+$b;,则,$,c,的值为,5,; $,a,的值为,4,+,位于变量后面,用变量原值参与计算,然后该变量值加,1,$a=3; $b=1; $c=($a+)+$b;,则,$,c,的值为,4,; $,a,的值为,4,-,位于变量前面,变量值先减,1,,然后用该变量的新值参与计算,$a=3; $b=1; $c=(-$a)+$b;,则,$,c,的值为,3,; $,a,的值为,2,-,位于变量后面,用变量原值参与计算,然后该变量值减,1,$a=3; $b=1; $c=($a-)+$b;,则,$,c,的值为,4,; $,a,的值为,2,52,2024年9月21日,2024年9月21日,52,2.5 PHP,运算符,2.5.7,位运算符,操作符,说明,规则,示例,&,按位与,两个操作数对应位都是,1,的位设为,1,,其余为,0,$a=1; $b=2; $c=$a,则,$,c,的值为,0,|,按位或,两个操作数对应位有一个为,1,的位设为,1,,其余为,0,$,a=1;,$,b=2;,$c=$a|$b;,则,$,c,的值,为,3,按位异或,两个,操作数相同为,0,,不同为,0,$a=3; $b=2; $c=$a$b;,则,$,c,的值为,1,按位取反,将操作数中为,0,的位设为,1,,为,1,的位设为,0,$a=4; $b=2; $c=$a;,则,$,c,的值为,-5,左移,将左边操作数中的位向左移动右边操作数次(每一次移动都表示“乘以,2”,),$a=5; $b=2; $c=$a,右移,将左边操作数中的位向右移动右边操作数次(每一次移动都表示“除以,2”,),$a=6; $b=2; $c=$a$b;,则,$,c,的值为,1,53,2024年9月21日,2024年9月21日,53,2.5 PHP,运算符,2.5.8,逻辑运算符,操作符,说明,示例,&,逻辑与只有当两个操作数都为真时,结果为真,$a=true,;,$b=true,;,则,$,c=$a & $b,的值为,true,$a=true;,$,b=false,;,则,$,c=$a & $b,的值为,false,and,$a=true;,$,b=false;,则,$,c,=($,a and $,b),的,值为,false,$a=false; $b=false;,则,$,c=$a and $b,的值为,false,|,逻辑或只要两个操作数有一个为真,结果为真,$a=false; $b=false;,则,$,c=$a | $b,的值为,false,$a=true;,$,b=false;,则,$,c=$a | $b,的值为,true,or,$a=true;,$,b=true;,则,$,c=$a or $b,的值为,true,$a=true;,$,b=false;,则,$,c=$a or $b,的值为,true,xor,逻辑异或当两个操作数的值一真一假时,结果为真,$a=true;,$,b=true;,则,$,c,=($,a xor $,b),的,值为,false,$a=true;,$,b=false;,则,$,c=$a xor $b,的值为,true,!,逻辑非结果为操作数的逻辑反值,$a=true;,则,$,c=!$a,的值为,false,$a=false;,则,$,c=!$a,的值为,true,54,2024年9月21日,2024年9月21日,54,2.3 PHP,常量及其应用,例,2-12_1,逻辑运算符优先级,运行结果,:,$c1,的值是,true,原因:,1,、“,=,”的优先级高于“,and,”,因此先把,$a1,的值赋给,$c1,,此时,$c1,的值是,true,;然后再用,$c1,和,$b1,做“,and,”,运算。,2,、先计算,$a2 and $b2,,值为,false,,然后把该值赋给,$c2,;因此,$c2,的值是,false,运行结果,:,$c2,的值是,false,55,2024年9月21日,2024年9月21日,55,2.3 PHP,常量及其应用,例,2-12_2,逻辑运算符优先级,运行结果,:,原因:,1,、“,=,”的优先级高于“,xor,”,因此先把,$a1,的值赋给,$c1,,此时,$c1,的值是,true,;然后再用,$c1,和,$b1,做“,xor,”,运算。,2,、先计算,$a2 xor $b2,,值为,false,,然后把该值赋给,$c2,;因此,$c2,的值是,false,运行结果,:,56,2024年9月21日,2024年9月21日,56,2.3 PHP,常量及其应用,练习:,1,、已知三个数,10,,,18,,,6,,写出程序求出,3,个数的最大值。,2,、已知长和宽分别是,8,和,6,,计算长方形的面积。,2,、尝试说出下列代码的运行结果。,const A=50,;,const B=123,;,const C=A+B=;,$d=A+B;,echo C.$d;,3,、尝试说出以下代码的运行结果,const A=50,;,const,A=A+15;,echo A,;,1,、尝试说出以下代码中各个表达式的运算结果。,$a=6;,$b=7;,$c=$a+10*$a;,$d=$a+;,$e=+$a;,$f=$a+(+$a);,$g=+$a-$b-;,2.3,语句结构,顺序结构、分支结构,顺序语句,举例:,$a=6;,$b=7;,$c=$a+10*$a;,$d=$a+;,echo $a,$b,$c,$d;,2.3,语句结构,顺序结构、分支结构,条件语句,1,、,if,语句,if,语句是许多高级语言中重要的控制语句,if,(,expr,),statement,如果某个条件成立,就做某件事情。,2.3,语句结构,顺序结构、分支结构,2,、,if.else,语句,if,(,expr,), statement 1;,else, statement 2;,2.3,语句结构,顺序结构、分支结构,举例:,$a=,梅格妮,;,if($a=,梅格妮,),echo ,我是吴亦凡的粉丝!,;,else,echo ,我不是吴亦凡的粉丝!,;,2.3,语句结构,顺序结构、分支结构,3,、,if.elseif.else,语句,if,(,expr1,), statement 1;,else if,(,expr2,), statement 2;,else if,(,expr3,), statement 3;,.,else, statement n;,2.3,语句结构,顺序结构、分支结构,例如:,$score=85;,if($score=90&$score=80&$score=70&$score=60&$score=0&$score60) echo ,你的成绩为不及格!,;,else echo,你输入的成绩有误!,;,2.3,语句结构,顺序结构、分支结构,4,、,switch,语句,switch,语句和前面讲到的,if.elseif.else,类似,也是根据不同的条件执行不同的语句。,switch(variable),case val1: .; break;,case val2: .; break;,case val3: .; break;,.,default: .;,2.3,语句结构,顺序结构、分支结构,例:,计算,m,月,d,日,是今年的第几天。,提示:定义的三个变量,$month=6;$day=20;$sum=0;,2.3,语句结构,顺序结构、分支结构,练习:,1,、写一个程序判断该年是否为闰年。(,4,年一闰,百年不闰,四百年再闰),2,、用,switch,写一个程序判定每个月份有多少天?(,2,月按,28,天即可,不必计算闰月)。,3,、写一个程序计算,某年某月某日是该年的第多少天。,2.3,语句结构,顺序结构、分支结构,循环语句是在满足条件的情况下反复地执行某一个操作。,在,php,中,提供了,4,个循环控制语句,分别是,while,循环语句、,do-while,语句、,for,循环语句和,foreach,循环语句。,2.4,语句结构,循环结构,1.,while,循环语句,如果条件成立,,while,语句将重复执行代码块。,语法:,while (,表达式,),语句块,;,当表达式非,0,值时,执行,while,语句中的内嵌语句;,当表达式为,0,时,则不执行,while,语句中的内嵌语句。,特点:先判断表达式,后执行语句。,2.4,语句结构,循环结构,1.,while,循环语句,例:输出,1-5,数字,?php,$i=1;,while($i,2.4,语句结构,循环结构,2.,do.while,循环语句,do.while,语句也是循环控制语句中的一种,使用方式和,while,相似,也是通过判断表达式的值来输出循环语句。,语法:,do,语句块;,while,(表达式),该语句的操作流程是:先执行一次指定的循环语句,然后判断表达式的值,当表达式的值为非,0,时,返回重新执行循环语句。如此反复,指到表达式的值等于,0,时为止,循环结束。,2.4,语句结构,循环结构,3.,for,循环语句,如果您已经确定了代码块的重复执行次数,则可以使用,for,语句。,语法:,for (initialization; condition; increment),code to be executed;,for,语句有三个参数。第一个参数初始化变量,第二个参数判断条件,第三个参数包含执行循环所需的增量。如果,initialization,或,increment,参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为,true,或者,false,。,2.4,语句结构,循环结构,3.,for,循环语句,例:使用,for,循环来计算,2-100,所有偶数之和。,$sum=0;,for($a=0;$a$value),循环语句,;,2.4,语句结构,循环结构,4.,foreach,循环语句,例 :遍历数组,$arr=array(one, two, three);,foreach ($arr as $value),echo Value: . $value . ;,2.4,语句结构,循环结构,例:,九九乘法表,2.4,语句结构,循环结构,1,、,break,跳转语句,break,关键字可以终止当前的循环,包括,while,、,do.while,、,for,、,foreach,和,switch,在内的所有控制语句。,break,语句不仅可以跳出当前的循环,还可以指定跳出几重循环。,格式为:,break n,;,参数,n,指定要跳出的循环数量。,2,、,continue,跳转语句,程序执行,break,后,将跳出循环,而开始继续执行循环体的后续语句。,continue,跳转语句的作用没有,break,那么强大,只能终止本次循环,而进入下一次循环中。在执行,continue,语句后,程序将结束本次循环的执行,并开始下一轮循环的执行操作。,continue,也可以指定跳出几重循环。,2.5,语句结构,跳转语句,3,、,goto,语句,goto,操作符可以用来跳转到程序中的某一个指定位置。该目标位置可以用目标名称加上:来标记。,php,中的,goto,是有一定限制的,它无法跳转到任何 循环或者,switch,结构中。常见的用法是用来跳出循环或者,switch,。可以代替多层的,break,。,当然,php,中的,goto,还有别的限制,如只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或者类方法,也无法跳入到另一个函数。,4,、,return,语句,还有一种跳转语句叫做,return,语句,会跳出当前函数。我们会在后面的章节里讲解。,2.5,语句结构,跳转语句,?php,for($a=1;$a=10;$a+),echo ;,for($b=1;$b,2.5,语句结构,跳转语句,for($a=1;$a=10;$a+),echo ;,for($b=1;$b=10;$b+),if($b=5) break ;,echo $a*$b=.$a*$b.“;,echo
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!