配色: 字号:
《PHP+MySQL动态网站开发实例教程》第3章 PHP基本语法
2023-05-25 | 阅:  转:  |  分享 
  
第1页第3章 PHP基本语法本章概述 本章的学习目标主要内容第2页本章概述PHP自诞生以来不仅拥有广泛的用户群,更有着庞大的开发团队。PH
P社区则是全球最活跃的开发社区之一,人们可以在此共享代码、技术交流。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.1 PHP基本格式PHP是一种可嵌入到HTML中、运行在服务
器端的脚本语言,PHP的代码一般是由运行在浏览器端HTML代码及嵌入其中的CSS和JavaScript等客户端代码,和运行在服务器
端位于PHP脚本定界符“”之间的服务器脚本代码两部分组成。PHP代码有以下几种表示风格。XML风格短风格脚本风格AS
P风格第6页3.1.2 PHP编码规范(1)表述在PHP的表述中,通常每一句PHP语句都是以“;”结尾,(2)空白PHP对空格、回
车造成的新行、Tab等留下的空白都进行了忽略,这跟浏览器对HTML语言中的空白的处理是一样的。(3)注释①单行注释②多行注释第7页
3.1.3编写PHP程序的注意事项PHP是一种区分大小写的语言,主要表现在PHP变量和常量名是区分大小写的,但是PHP中类型和方法
名,以及一些关键字(如echo、for)都是不区分大小写的。PHP代码中的字符均为半角字符,中文和全角字符只能出现在字符串常量中。
书写PHP代码时需要确保输入法在英文状态下。在PHP界定符“”中必须是一行或多行完整的语句,不能把一条完整的语
句存放在多对界定符中。在PHP中,每条语句都以“;”结束,PHP解析器只要看到“;”就认为一条语句结束了。因此,可以将多条语句写在
一行,也可以将一条语句写成多行。第8页3.1.4使用PHP输出HTMLPHP代码作为服务器脚本在后台运行,运行得出的数据通过PHP
自带的显示函数输出到浏览器页面中,一般使用echo()和print()函数。例如:第9页3.1.5 在HTML中嵌入PHP在HTM
L代码中嵌入PHP代码相对来说比较简单,下面是一个在HTML中嵌入PHP代码的例子,代码如下:第10页3.1.6 PHP中使用简单
的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()函数来定义符号常量,符号常量一旦定义就不能再修改它的值。defi
ne()函数的原型如下:boolean define ( string $name , mixed $value [, boole
an $case_insensitive = false ] )第13页3.2.1常量2. 内置常量PHP的内置常量是指PHP在系
统建立之初就定义很多系统常量,这些常量可以被随时调用。下面是一些常见的内置常量。(1)__FILE__
(2)__LINE__(3)PHP_VERSION (4)__FUNCT
ION__(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…e
lse语句在条件控制结构中,有时会出现多选一的情况,此时可以使用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{ 循环体语句块;}w
hile(条件表达式); //注意此处有“;”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. 使用b
reak/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=a
rray(“商务间”=>“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()计算数组元素的个数,其语法格式如下:int count(array,mode)(2)求数组元素最大值、最小值使用ma
x()和min()可以返回数组中数组元素最大值和最小值。(3)求所有数组元素值的和使用array_sum()函数返回数组中所有值的
和。(4)求所有数组元素的积使用array_ product()函数计算并返回数组的乘积。(5)统计数组中所有值出现的次数使用ar
ray_count_values()可以统计数组中值出现的次数,并将结果返回到另外一个数组中。第39页3.5.4 数组的常用内置函
数2. 数组元素的添加与删除(1)向数组添加元素可以使用array_unshift()和array_push()函数来实现(2)从
数组中删除数组元素可以使用array_shift()和array_pop()函数来实现(3)删除数组中重复的元素使用array_u
nique()函数移除数组的重复的元素值,并返回没有重复值的新数组。第40页3.5.4 数组的常用内置函数3. 数组元素与字符串之
间转换可使用explode()和implode()函数来实现字符串和数组之间的转换。(1)将字符串转换为数组使用explode()
把字符串按照一定的规则拆分为数组中的元素,形成一个新数组。(2)将数组转换为字符串使用implode()把数组中的元素按照一定的连
接方式转换为字符串第41页3.5.4 数组的常用内置函数4. 数组元素排序类数组中的元素可以按字母或数字顺序进行降序或升序排列。P
HP中常用的排序函数有以下几个: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():检查数组中是否存在指定的值,返回true或false。array_search():检查数组
中是否存在某个值,返回其键值。Array_key_exists():检查数组是否存在指定的键值,返回true或false。Arra
y_keys():返回数组中所有的键值并保存到一个新数组。Array_values():返回数组中所有的值并保存到一个新数组中。第
44页3.5.4 数组的常用内置函数7.操作数组指针数组在创建时都会建一个指针(current)指向数组的第一个元素,通过指针函数
可以获取指针指向的元素或键值,也可以移动current指针,对数组进行遍历。常用的数组指针函数有:current():返回当前指针
所指向元素的值。key():返回当前针织所指向元素的键值。next():移动指针指向下一个元素。perv():移动指针指向上一个元素。reset():使指针指向第一个元素并返回所指元素的值。end():使指针指向最后一个元素并返回所指元素的值。each():以数组形式返回当前元素的键名和键值,其中键值为1和value的两个数组元素的值为current指针指向的元素的值,键值为0和key的两个数组元素的值为current指针指向的元素的键值。第45页主要内容3.1 语法入门3.2 常量、变量和数据类型3.3 表达式和运算符3.4 程序流程控制结构3.5 数组3.6 本章小结第46页3.6 本章小结 本章讲述了PHP语言的基本语法。首先,介绍了PHP的基本格式、编码规范和注意事项,以及PHP与HTML、PHP与JavaScript之间的相互使用。接下来,对常量、变量和数据类型了分析讲解,对表达式和运算符进行了详细的介绍。之后,对程序流程控制结构中的条件控制结构语句和循环控制结构语句进行了详细讲述。最后,对数组的基本类型和具体操作进行了详细讲解。
献花(0)
+1
(本文系大高老师首藏)