《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法_第1页
《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法_第2页
《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法_第3页
《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法_第4页
《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页第3章PHP基本语法本章概述本章的学习目标主要内容第2页本章概述PHP自诞生以来不仅拥有广泛的用户群,更有着庞大的开发团队。PHP社区则是全球最活跃的开发社区之一,人们可以在此共享代码、技术交流。JavaScript和CSS都是运行在浏览器上,而PHP代码是运行在服务器端的,把针对浏览器网页设计称为Web前端开发,把针对服务器端的程序开发称为Web后台编程。本章主要介绍PHP的基本语法。第3页本章的学习目标掌握PHP的基本语法格式掌握PHP中常量、变量、运算符和表达式的概念和使用掌握PHP数据类型和类型转换方式掌握PHP语言结构掌握PHP数据数组的使用第4页主要内容3.1语法入门3.2常量、变量和数据类型3.3表达式和运算符3.4程序流程控制结构3.5数组3.6本章小结第5页3.1.1PHP基本格式PHP是一种可嵌入到HTML中、运行在服务器端的脚本语言,PHP的代码一般是由运行在浏览器端HTML代码及嵌入其中的CSS和JavaScript等客户端代码,和运行在服务器端位于PHP脚本定界符“<?”和“?>”之间的服务器脚本代码两部分组成。PHP代码有以下几种表示风格。XML风格短风格脚本风格ASP风格第6页3.1.2PHP编码规范(1)表述在PHP的表述中,通常每一句PHP语句都是以“;”结尾,(2)空白PHP对空格、回车造成的新行、Tab等留下的空白都进行了忽略,这跟浏览器对HTML语言中的空白的处理是一样的。(3)注释①单行注释②多行注释第7页3.1.3编写PHP程序的注意事项PHP是一种区分大小写的语言,主要表现在PHP变量和常量名是区分大小写的,但是PHP中类型和方法名,以及一些关键字(如echo、for)都是不区分大小写的。PHP代码中的字符均为半角字符,中文和全角字符只能出现在字符串常量中。书写PHP代码时需要确保输入法在英文状态下。在PHP界定符“<?php”和“?>”中必须是一行或多行完整的语句,不能把一条完整的语句存放在多对界定符中。在PHP中,每条语句都以“;”结束,PHP解析器只要看到“;”就认为一条语句结束了。因此,可以将多条语句写在一行,也可以将一条语句写成多行。第8页3.1.4使用PHP输出HTMLPHP代码作为服务器脚本在后台运行,运行得出的数据通过PHP自带的显示函数输出到浏览器页面中,一般使用echo()和print()函数。例如:第9页3.1.5在HTML中嵌入PHP在HTML代码中嵌入PHP代码相对来说比较简单,下面是一个在HTML中嵌入PHP代码的例子,代码如下:第10页3.1.6PHP中使用简单的JavaScript在PHP代码中嵌入JavaScript能够与客户端建立其良好的用户交互界面,强化PHP的功能,其应用十分广泛。在PHP中生成JavaScript脚本的方法与输出HTML的方法一样,可以使用显示函数。例如:第11页主要内容3.1语法入门3.2常量、变量和数据类型3.3表达式和运算符3.4程序流程控制结构3.5数组3.6本章小结第12页3.2.1常量1.常量的声明和定义常量是在程序运行中其值不能改变的量。常量可以直接书写成10、1.2、”hello”等形式,也可以使用一个标识符来代替一个常量,称符号常量。在PHP中使用define()函数来定义符号常量,符号常量一旦定义就不能再修改它的值。define()函数的原型如下:booleandefine(string$name,mixed$value[,boolean$case_insensitive=false])第13页3.2.1常量2.内置常量PHP的内置常量是指PHP在系统建立之初就定义很多系统常量,这些常量可以被随时调用。下面是一些常见的内置常量。(1)__FILE__(2)__LINE__(3)PHP_VERSION(4)__FUNCTION__(5)PHP_OS(6)TRUE(7)FALSE(8)E_ERROR(9)E_WARNING(10)E_PARSE(11)E_NOTICE第14页3.2.2变量1.PHP中的变量声明PHP中的变量不同于C或者Java语言需要对每一个变量声明类型,PHP中的变量不需要声明。PHP中的变量名一般是以“$”作为前缀,然后以字母a~z的大小写或者“_”下划线开头。合法的变量名可以是:$_hello$Aform1非法的变量名如:$168$!like第15页3.2.2变量2.变量的作用域和生存周期(1)变量的作用域变量的作用域是指变量在程序中可以被使用的代码范围。(2)变量的生存期变量的生存期表示该变量在什么时间范围内存在,也可以理解为变量从被定义、分配内存空间起到变量的存储空间被回收释放为止。全局变量的生存期从它被定义那一刻起到整个脚本代码执行结束为止;局部变量的生存期从定义它的函数被调用、变量被定义、分配内存空间开始到该函数运行结束为止。第16页3.2.2变量3.可变变量与变量的引用(1)可变变量可变变量是一种特殊的变量,这种变量的名称不是预先定义的,而是动态地设置和使用的。可变变量一般是使用一个变量的值作为另一个变量的名称,所以可变变量又称为变量的变量。可变变量直观上看就是在变量名前加一个“$”。(2)变量的引用变量的引用相当于给变量添加了一个别名,使用“&”来引用原始变量的地址,修改新变量的值将影响原始变量,反之亦然。就像是给同一个盒子贴了两个名字标签,两个名字标签指的都是同一个盒子。第17页3.2.3数据类型数据类型是一个值的集合以及定义在这个集合上的一组操作,不同的数据类型存储的数据的种类也不同。第18页主要内容3.1语法入门3.2常量、变量和数据类型3.3表达式和运算符3.4程序流程控制结构3.5数组3.6本章小结第19页3.3.1表达式表达式是在特定语言中表达一个特定的操作或动作的语句。一个表达式包括“操作数”和“操作符”。操作数可以是变量,也可以是常量。操作符或运算符则体现了要表达的各种行为,如逻辑判断、赋值或者运算等。在PHP代码中,使用“;”号来区分表达式,即一个表达式和一个分号组成了一条PHP语句。在编写代码程序中,应该特别注意表达式后面的“;”,不要漏写或写错,否则会提示语法错误。第20页3.3.2运算符算术运算符赋值运算符比较运算符连接运算符逻辑运算符条件运算符第21页3.3.3数据类型之间转换1.自动类型转换(1)给变量重新赋值PHP中变量定义时不需要明确的数据类型定义,会根据使用该变量的上下文环境及赋值的数据决定变量的类型。当对变量重新赋了一个与之前不同数据类型的值后,变量的数据类型会自动装换。(2)不同数据类型变量进行运算操作如果不同数据类型的变量进行运算操作时,一般是算术运算符中的加法运算符“+”和连接运算符“.”,将会选用占字节最多的一个运算数的数据类型作为运算结果的数据类型,而将另外一个操作数会自动转换为占字节最多的一个运算数的数据类型。第22页3.3.3数据类型之间转换2.强制类型转换(1)使用强制类型转换强制类型转换可以将数据类型转换为指定的数据类型,其语法格式如下:(类型名)变量或表达式(2)使用类型转换函数可以使用intval()、floatval()、strval()、settype()等函数实现类型的强制转换。第23页主要内容3.1语法入门3.2常量、变量和数据类型3.3表达式和运算符3.4程序流程控制结构3.5数组3.6本章小结第24页3.4.1条件控制结构语句1.单分支选择if语句if语句是最为常见的条件控制语句,它的语法格式为:if(条件表达式){

语句块;}这种结构形式表示当条件表达式成立时(值为true),则执行语句块,否则不执行。第25页3.4.1条件控制结构语句2.双分支选择if语句如果是非此即彼的条件判断,可以使用if…else语句。它的语法格式为:if(条件表达式){

语句块A;}else{

语句块B;}这种结构形式首先判断条件表达式是否成立(值是否为true),如果成立(值为true),则执行命令语句块A,否则执行命令语句块B。第26页3.4.1条件控制结构语句3.多分支选择if…elseif…else语句在条件控制结构中,有时会出现多选一的情况,此时可以使用if…elseif…else语句。它的语法格式为:这种结构形式首先判断条件表达式1是否成立,如果成立则执行语句块1,执行完毕后退出该选择结构,不再判断其他条件表达式。如果条件表达式1不成立,则判断条件表达式2~n-1是否成立,如果成立则执行对应的语句块,执行完毕后退出该选择结构。如果所有表达式都不成立,则执行else后的语句块n。无论何种情况,if…elseif…else语句只会执行其中一个语句块,也就是n选1。第27页3.4.1条件控制结构语句4.多分支选择switch语句switch语句的结构给出不同情况下可能执行的程序块,条件满足哪个程序块,就执行哪个语句。在要判断的条件有很多种可能的情况下,使用switch语句将使多分支选择结构更加清晰。它的语法格式为:其中,若“条件判断语句”的结果符合某个“可能判断结果”,就执行其对应的“命令执行语句”。如果都不符合,则执行default对应的默认项的“命令执行语句”。第28页3.4.2循环控制结构语句1.while循环语句while循环的语法格式为:while(条件表达式){

循环体语句块;}当“条件表达式”为true时,执行后面的“循环体语句块”,然后返回到条件表达式处继续进行判断,直到表达式的值为假,才能跳出循环,执行循环结构后面的语句。第29页3.4.2循环控制结构语句2.do…while循环语句do…while循环的语法格式为:do{

循环体语句块;}while(条件表达式);//注意此处有“;”do…while语句是后测式循环,它将条件表达式的判断操作放在循环体语句块的下面,这样就保证了循环体语句块至少会被执行一次。与之对应的是while语句是前测式循环,while循环的循环体语句可能一次也不执行。第30页3.4.2循环控制结构语句3.for循环语句for循环的语法格式为:for(初始表达式;循环条件表达式;计数器表达式){//三个参数之间为“;”

循环体语句块;}for循环的执行过程是:先执行初始表达式(通常是给循环变量赋初值);然后判断循环条件表达式是否成立,若成立则执行循环体语句块,否则跳出循环结构;正常执行完循环体语句块后,执行计数器表达式(通常是对循环变量进行计数);转到判断循环体条件表达式处是否继续循环。第31页3.4.2循环控制结构语句4.foreach循环语句foreach语句常用用来对数组或对象中的元素进行遍历操作,例如数组中的元素个数未知的情况下很适合使用foreach语句,它的语法格式为:foreach(数组名as数组元素){

循环体语句块;//对数组元素的操作代码}第32页3.4.2循环控制结构语句5.使用break/continue语句跳出循环使用break语句,用来跳出(也就是终止)循环控制语句和条件控制语句中的switch语句的执行。使用continue语句的作用是,跳出当前的循环迭代项,直接进入到下一个循环迭代项,继续执行程序。第33页主要内容3.1语法入门3.2常量、变量和数据类型3.3表达式和运算符3.4程序流程控制结构3.5数组3.6本章小结第34页3.5.1数组及数组类型数组是一个能在单个变量中存储多个值的特殊变量。数组中的数值被称为数组元素(element),每个元素都有一个与之对应的标识(index),也称键值(key)。数组中的标识既可以是数字也可以是字符串,通过标识可以访问相应的数组元素。PHP中按照标识的不同将数组分为数字索引数组和关联索引数组,即标识是数字的数组和表示是字符串的数组。第35页3.5.1数组及数组类型1.数字索引数组数字索引数组是最常见的数组类型,表示默认从0开始计数。另外,数组变量在使用时即可创建,创建时即可使用。声明数组的方法主要有两种:(1)使用array()函数声明数组(2)直接通过为数组元素赋值的方式声明数组2.关联索引数组关联索引数组的标识值可以使数值和字符串的混合形式,而不像数字索引数组的标识值只能为数字。这里也可以使用完整形式的array函数声明数组,例如:$arr=array(“商务间”=>“699”,“标准间”=>”399”,“单间”=>”299”);第36页3.5.2构造数组1.一维数组2.多维数组(1)使用array()函数创建二维数组(2)直接给数组元素赋值第37页3.5.3访问数组和数组元素1.访问数组数组名就代表整个数组,将数组名赋值给变量就能够复制该数组,数组名前加“&”表示数组的地址,数组同样支持传值赋值和传址赋值。传值赋值是将包含数组在内的变量数据完整复制给新变量,原变量和新变量是各自独立存在的;传址赋值是将存放变量数据的地址赋值给新的地址变量,相当于变量的引用。2.访问数组元素数组元素也是变量,访问单个数组元素的最简单方法就是通过“数组名[标识值]”的形式访问。3.添加、删除、修改数组元素数组创建完成后,给不存在的数组元素赋值就实现了数组元素的添加,给已存在的数组元素赋值就可以实现数组元素的修改,而实现数组元素的删除一般是通过unset()方法来实现。第38页3.5.4数组的常用内置函数1.数组统计(1)求数组元素个数使用count()计算数组元素的个数,其语法格式如下:intcount(array,mode)(2)求数组元素最大值、最小值使用max()和min()可以返回数组中数组元素最大值和最小值。(3)求所有数组元素值的和使用array_sum()函数返回数组中所有值的和。(4)求所有数组元素的积使用array_product()函数计算并返回数组的乘积。(5)统计数组中所有值出现的次数使用array_count_values()可以统计数组中值出现的次数,并将结果返回到另外一个数组中。第39页3.5.4数组的常用内置函数2.数组元素的添加与删除(1)向数组添加元素可以使用array_unshift()和array_push()函数来实现(2)从数组中删除数组元素可以使用array_shift()和array_pop()函数来实现(3)删除数组中重复的元素使用array_unique()函数移除数组的重复的元素值,并返回没有重复值的新数组。第40页3.5.4数组的常用内置函数3.数组元素与字符串之间转换可使用explode()和implode()函数来实现字符串和数组之间的转换。(1)将字符串转换为数组使用explode()把字符串按照一定的规则拆分为数组中的元素,形成一个新数组。(2)将数组转换为字符串使用implode()把数组中的元素按照一定的连接方式转换为字符串第41页3.5.4数组的常用内置函数4.数组元素排序类数组中的元素可以按字母或数字顺序进行降序或升序排列。PHP中常用的排序函数有以下几个:sort():根据数组元素值进行升序排列,为数组元素赋予新的键值(标志值)。rsort():根据数组元素值进行降序排列,为数组元素赋予新的键值(标志值)。asort():根据数组元素值进行升序排列,数组元素的键值(标志值)不改变。arsort():根据数组元素值进行降序排列,数组元素的键值(标志值)不改变。ksort():根据关联数组的键值(标志值)进行升序排列。krsort():根据关联数组的键值(标志值),对数组进行降序排列。array_reverse():将数组中的元素进行逆序排列,返回逆序后的数组。第42页3.5.4数组的常用内置函数5.数组和变量之间的转换使用PHP内置函数可以快速就实现数组元素和变量之间的相互转换。常用的函数有:list():使用数组元素给一组变量赋值,要求数组键值为数字且从0开始连续递增。extract():利用数组生成一组变量,变量名为数组键值,变量值为数组元素值。compact():利用一组变量返回一个数组,与extract()功能相反。第43页3.5.4数组的常用内置函数6.搜索数组PHP内置的搜索函数主要用来检查数组中是否存在某个值或某个键值,常用的搜索函数如下:in_array()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论