PHP网站开发项目式教程任务课件3.pptx

上传人:小飞机 文档编号:1287177 上传时间:2022-11-04 格式:PPTX 页数:54 大小:896.13KB
返回 下载 相关 举报
PHP网站开发项目式教程任务课件3.pptx_第1页
第1页 / 共54页
PHP网站开发项目式教程任务课件3.pptx_第2页
第2页 / 共54页
PHP网站开发项目式教程任务课件3.pptx_第3页
第3页 / 共54页
PHP网站开发项目式教程任务课件3.pptx_第4页
第4页 / 共54页
PHP网站开发项目式教程任务课件3.pptx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《PHP网站开发项目式教程任务课件3.pptx》由会员分享,可在线阅读,更多相关《PHP网站开发项目式教程任务课件3.pptx(54页珍藏版)》请在三一办公上搜索。

1、任务三 PHP5的基本语法,主要知识点3.1 PHP语法基础3.2 PHP中的日期和时间3.3 流程控制结构3.4 数组,任务三 PHP5的基本语法主要知识点,3.1 PHP语法基础,3.1.1 第一个PHP程序(扩展名为.php) first php program ,是PHP5代码嵌在页面中的定界符,定界符可并列多次出现,但是不能嵌套使用,文件分别按如下位置存储,分别需要怎样运行?1.存储在htdocs下面,3-1.php2.存储在htdocs/exam3/3-1.php,3.1 PHP语法基础3.1.1 第一个PHP程序(扩展名为,3.1.2 解决PHP程序中汉字的乱码问题,若是PHP程

2、序内部的汉字使用的编码是UTF-8,而输出到浏览器中显示时使用了GB2312编码,则浏览器中显示的汉字为乱码。解决PHP程序中汉字的乱码问题,需要在PHP代码开始处使用代码header(Content-Type: text/html;charset=utf8);,使用该代码设置在浏览器中输出的html内容编码类型为utf8。,3.1.2 解决PHP程序中汉字的乱码问题若是PHP程序内部,3.1.3 PHP标记与注释,:标准的嵌入方式,应用最多;可以灵活使用,把 PHP 的脚本块放置在页面文档的任何位置。 以下三种标记在PHP7中已经被禁用:,,3.1.3 PHP标记与注释:标准的嵌入方,PHP

3、代码注释格式,三种注释格式:/:用于写一行注释/*/:多行大块注释#:一行注释,PHP代码注释格式 三种注释格式:,创建php文件,在zendstudio中Remote选项卡下的盘符列表找到apache服务器主目录htdocs,右键点击创建php文件,这样创建的文件可以直接在保存之后在服务器模式下运行。,创建php文件在zendstudio中Remote选项卡下的,3.1.4 PHP中的常量定义,程序开发中,通常会把不经常改变的值定义成常量,常量一般用全部大写来表示,前面不加美元符号。从PHP5.3版本以后,常量的定义可以使用函数define() 和关键字CONST/const两种形式定义。,

4、3.1.4 PHP中的常量定义程序开发中,通常会把不经常改变,1.使用函数define() 定义常量,语法格式:define(name, value, case_insensitive)参数说明:参数name,必需,表示常量名称;参数value,必需,表示常量取值;参数case_insensitive,可选,规定常量的名称是否对大小写敏感,若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。,1.使用函数define() 定义常量语法格式:define,1.使用函数define() 定义常量,例如,要定义大小写不敏感的常量PI,取值为3.1415926,代码如下:defin

5、e(PI, 3.1415926);访问定义好的常量时,可以直接使用常量名称,也可以使用constant(常量名称)。例如要输出常量PI,可以用echo PI;或者echo constant(PI)。,1.使用函数define() 定义常量例如,要定义大小写不敏,2.使用CONST定义常量,格式:CONST 常量名称 = 常量值;。例如,CONST PI = 3.1415926;。注意:关键字CONST可以写为小写的const。使用CONST定义的常量,大小写是敏感的,定义之后无法改变;另外,使用CONST定义的常量,其访问方式与函数define() 定义的常量是一致的,可以直接使用常量名访问,

6、也可以使用constant(常量名称)形式访问。,2.使用CONST定义常量格式:CONST 常量名称 = 常,3.1.5 PHP中的变量,PHP中预先定义了很多系统变量,用户可以在脚本中直接引用。此处我们只讲解自定义变量PHP变量属于松散的数据类型,注意如下几点:变量名必须以$符号开始,区分大小写不必事先定义或声明可直接使用使用时根据变量所存放常量的值确定类型并可随意更换值的类型如果未赋值而直接使用,变量值为空,3.1.5 PHP中的变量PHP中预先定义了很多系统变量,用,变量的应用,修改3-1.php文件,定义变量$string,用于存放Hello World!,最后输出变量的值,修改后的

7、文件命名为3-2.php,保存之后运行该文件观察结果,变量的应用修改3-1.php文件,定义变量$string,用,可变变量,若是在变量名称前面只有一个$符号,该变量是一个普通变量,例如$str。若是在变量名前面由两个$符号,则该变量是一个可变变量,例如$str。观察代码:即可变变量$str表示的变量是$name,若$str=age,则可变变量$str表示的变量是$age。,$str=name;$str=zhanghongjian;echo $name;/输出zhanghongjian,可变变量若是在变量名称前面只有一个$符号,该变量是一个普通变,系统预定义变量,$GLOBALS:用于在 PH

8、P 脚本中的任意位置访问全局变量;$_SERVER:保存关于报头、路径和脚本位置的信息;$_REQUEST:用于收集 HTML 表单提交的数据,该组的可信度较低,较少使用;$_POST:广泛用于接收method=post 的 HTML 表单提交的数据,也常用于传递变量;$_GET:可用于接收method=get的HTML表单提交的数据或者超链接提交的数据;$_COOKIE:经由 HTTP Cookies 方法提交至脚本的变量;$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量;$_SESSION:当前注册给脚本会话的变量。在后续的章节中,将对其中的$_POST、$_GET、$

9、_COOKIE、$_FILES和$_SESSION等几个系统数组进行详细介绍。,系统预定义变量$GLOBALS:用于在 PHP 脚本中的任意,3.1.6 PHP中的运算符,算术运算符:+ - * / % + -赋值运算符:= += -= *= /= %= 逻辑运算符: ! & |字符串连接运算符:.(圆点)或,(逗号),逗号比圆点运算速度更快,3.1.6 PHP中的运算符算术运算符:+ - * / %,3.1.4 PHP中的运算符,关系运算符: = = = != = !=,完全相等,$x=$y,若它们的值相同,且类型相同,则返回 true。例如5=5结果为假,而5=5结果为真!=,$x!=$y

10、,如果 $x 不等于 $y,或它们类型不相同,则返回 true。例如5!=5结果为真,而5!=5结果为假返回值若为true,通常使用数字1表示,反之则是所有的非0数字都可以看做真值,0则表示假值,3.1.4 PHP中的运算符关系运算符:,3.1.7 PHP程序的输出语句,PHP程序的输出语句是echo,使用该语句可以输出PHP中的常量、变量、表达式运算结果、html标记、css样式代码以及javascript脚本等任意内容。输入图示代码,保存为3-3.php思考运行结果如何?代码中的第三行,能否将双引号换成单引号?为什么?,3.1.7 PHP程序的输出语句PHP程序的输出语句是ech,变量的引

11、号定界问题,虽然单引号与双引号都具备对字符串进行定界的功能,但是,若是要将需要转换值的变量或其它元素与其它文本内容一起放在引号中,不可以使用单引号定界。原因如下:运行程序时,PHP不会对单引号里面的内容进行检查替换,即无论单引号中放了什么信息,都一定会原样输出,而对双引号中的内容则会进行检查,发现需要替换的内容就直接替换掉(例如变量或数组元素)。,变量的引号定界问题虽然单引号与双引号都具备对字符串进行定界的,注意事项说明,放在双引号中的变量,后面不能紧跟着出现数字、下划线、汉字等字符,否则系统会将这些字符与原变量名一起解析为变量名,从而出现未定义的变量名错误。例如$price=2890;ech

12、o 该商品当前价格为$price元;系统在运行上面代码时,将price元解析为一个变量,因而报错导致程序无法正常执行,如图所示解决方案在变量名后面增加一个空格即可,注意事项说明放在双引号中的变量,后面不能紧跟着出现数字、下划,思考问题,若$age=19,下面代码的输出结果是什么?echo 他今年.$age.岁了;echo 他今年$age 岁了;echo 他今年$age 岁了;下面代码运行结果如何?echo 点击链接到商院首页;echo ,思考问题若$age=19,下面代码的输出结果是什么?,基础知识应用小示例,存在变量$school=“山东商职学院”,$depart=“电子信息学院”,$stu

13、dent=“2014级全体同学”完成如下功能要求:将三个变量的值使用一个输出语句在同一行中显示出来使用三个输出语句在同一行中显示出来使用一个输出语句分三行显示使用三个输出语句分三行显示,基础知识应用小示例存在变量$school=“山东商职学院”,,3.2 PHP中的日期和时间,3.2.1 日期时间函数date()PHP 的 date() 函数用于格式化时间或日期。使用格式:date(格式, 时间戳)。说明:第一个参数是必需的,规定时间戳的格式;第二个参数可选,规定时间戳,默认是当前的日期时间,若是指定了时间戳,则可以使用date() 函数获取该时间戳对应的日期。关于时间戳:时间戳是自 1970

14、 年 1 月 1 日(00:00:00 GMT)以来的秒数,它也被称为 Unix 时间戳(Unix Timestamp)。,3.2 PHP中的日期和时间3.2.1 日期时间函数date,3.2.1 日期时间函数date(),date() 函数的第一个参数规定时间戳的格式,也就是如何格式化日期/时间。它使用字母来表示日期和时间的格式。常用的字母如下。参数d:返回值为月中的第几天,0131,参数j没有前导0参数D:星期中的第几天,英文单词前三个字符参数w:星期中的第几天,0(星期天)6(星期六)参数m:月份0112(参数n没有前导0);参数M:月份,英文单词前三个字符;参数Y:4位数字的年份;参数

15、y:2位数字的年份参数H:小时0023;参数h:小时0112参数i:分钟0059; 参数s:秒0059所有参数可以结合其他字串一起使用,例如date(Y年m月d日),3.2.1 日期时间函数date()date() 函数的第一,date()应用举例,若今天日期是2017年9月7日,请按照指定格式输出日期今天是2017年09月07日今天是2017年9月7日,Thu今天是17年9月7日今天是2017-09-07现在是2017-9-7 09:45,date()应用举例若今天日期是2017年9月7日,请按照指,课堂练习,根据系统日期,输出今天是星期几,例如,如果是星期一,则输出“今天是星期一”;如果是

16、星期二,则输出“今天是星期二”;如果是星期三,则输出“今天是星期三”,课堂练习根据系统日期,输出今天是星期几,例如,如果是星期一,,26,3.2.2 获取当前时间戳函数函数strtotime(),函数strtotime() 将任何字符串的日期时间描述解析为 Unix 时间戳,即获取1970年1月1日零时零分零秒以来的秒数。函数格式:strtotime(string)。参数string可以是一个日期时间格式的字符串,例如strtotime(2019-1-1);也可以是一个表示日期时间的英文单词,例如strtotime(today) 。,263.2.2 获取当前时间戳函数函数strtotime()

17、,27,例题3-5,应用strtotime() 函数进行处理,分别获取今天的日期、明天的日期、下个星期一的日期和三天后的日期题目分析:获取指定的日期,首先要使用strtotime()函数获取相应日期对应的时间戳,之后使用date()函数将时间戳转换为日期并输出,27例题3-5应用strtotime() 函数进行处理,分别,28,程序代码如下,28程序代码如下,29,例题3-6,创建文件,求当前日期距离下一年(例如2019年)元旦的天数题目分析:获取天数的要求需要转换为获取时间戳的要求获取当前日期对应的时间戳获取2019年1月1日对应的时间戳将两个时间戳相减之后得到两个日期之间的秒数之差,并将其

18、转换为天数即可,29例题3-6创建文件,求当前日期距离下一年(例如2019年,30,程序代码如下,获取当前日期对应的时间戳,可以使用代码中提供的两种形式,30程序代码如下获取当前日期对应的时间戳,可以使用代码中提供,3.3 流程控制语句,请大家阅读图示代码,思考问题:各个条件的顺序能否随意颠倒(例如第5行和第6行颠倒)?为什么?能否去掉前面三个else,为什么?,3.3 流程控制语句请大家阅读图示代码,思考问题:各个条件的,使用switch结构完成示例3-9,提示,php中14/5结果为2.8,使用floor(14/5)结果为2,使用switch结构完成示例3-9提示,php中14/5结果,课

19、堂练习,请完成如下功能设置date(“D”)的作用是获取今天是星期几,例如周一,则返回字符串Mon,周二则返回字符串Tue使用日期函数date(“D”)获取今天是星期几,保存在变量$week中判断$week的值如果是星期一”Mon”或星期四”Thu”,则输出“今天要学习php课程啦,我要争取做到上课不睡觉,也不玩手机!”如果是星期六Sat或星期天Sun,请输出“今天又可以睡懒觉也可以好好玩耍了,要是天天都过周末该多好呀”,课堂练习请完成如下功能设置,讲解课堂练习,方法一:使用if 结构(注意比较运算符和或运算符的应用)方法二:switch结构(注意case子句和break的应用),讲解课堂练习

20、方法一:使用if 结构(注意比较运算符和或运算符,35,示例3-11 for循环应用,页面运行效果如图所示要求:使用表格显示输出内容当前日期使用红色边框突出显示,35示例3-11 for循环应用页面运行效果如图所示,36,例题分析,输出系统月历需要下面7个步骤:获取当前月第一天对应的时间戳按照时间戳获取第一天对应的星期几获取当前月的天数输出表格标题和标题行(星期几)输出第一天前面的空单元格判断日期中换行的位置对应星期几按行输出每一天,36例题分析输出系统月历需要下面7个步骤:,37,代码-1,第一步,获取当前月第一天对应的时间戳,第二步,按照时间戳获取第一天对应的星期几,第三步,获取当前月的天

21、数,37代码-1第一步,获取当前月第一天对应的时间戳第二步,按照,38,代码-2,第四步,输出表格标题和标题行(星期几),38代码-2第四步,输出表格标题和标题行(星期几),39,代码-3,第五步,输出第一天前面的空单元格,该变量表示的是第一天对应的星期几,第六步,判断日期中换行的位置,第七步,对应星期几按行输出每一天,39代码-3第五步,输出第一天前面的空单元格该变量表示的是第,3.4 数组,3.4.1 PHP数组的基本概念数组由多个元素组成,元素之间相互独立,识别或者访问一个元素需要使用“键”(key),每个元素可以保存一个数据,相当于一个变量,因此可以将数组看作一串内存空间连续的变量组合

22、。,3.4 数组3.4.1 PHP数组的基本概念,3.4.1 PHP数组的基本概念,数组的定义:php中数组通过array()函数定义,括号中可以直接写数组元素的取值,使用逗号间隔各个值例如$arr1=array(a ,b,c,d,efg,23,48);如$arr2= array(李颖,2014080312,19,团员);数组元素个数的获取获取数组元素个数使用函数count(),括号中使用数组名作为函数参数,返回值为指定数组元素的个数例如count($arr1)结果为7 count($arr2)结果为4,3.4.1 PHP数组的基本概念数组的定义:,数组及日期时间函数综合应用,如果系统日期是2

23、017年9月25日,编写代码,要求在页面上输出如下内容:今天是2017年9月25日 星期一思考问题:是否可以通过date()函数中的某个参数直接获取“星期一”、“星期二”这样的值?date()函数中与星期几有关的参数有哪几个?,数组及日期时间函数综合应用如果系统日期是2017年9月25日,43,3.4.2 PHP数组的类型,PHP中数组有三种类型:索引数组、关联数组和多维数组。索引数组索引数组是指带有数字索引的数组,使用递增的自然数列0、1、2作为数组元素的索引,定义数组时,直接在array() 函数中设置元素值即可,例如:$arr1 = array(a,b,c,d,efg,23,48) ;数

24、组$arr1中共有7个元素,可以分别通过$arr10、$arr11、$arr16的方式访问相应的数组元素。,433.4.2 PHP数组的类型PHP中数组有三种类型:索引,44,完成数组访问,创建文件arr-1.php,使用数组循环结构输出$arr1中所有元素的值核心代码如下:$arr1=array(a,b,c,d,efg,23,48); for($i=0;$icount($arr1);$i+) echo $arr1$i; ,若要在此处增加数组元素“China中国”,是否需要修改其它内容完成所有元素值的输出?,若要在输出每个元素值之后换行输出下一个元素值,如何修改代码?,44完成数组访问创建文件

25、arr-1.php,使用数组循环结构,45,关联数组的概念及定义形式,关联数组是指带有指定键的数组,数组元素的键名是由用户根据数组元素值的意义来定义的,定义数组时,需要使用 “key=value”(即“键名=值”)的方式设置各个数组元素。例如$arr2=array(animal=panda,name=Betty, appearance= pretty)数组$arr2中有三个元素,键名分别是animal、name和appearance,可以分别通过$arr2animal、$arr2name和$arr2appearance访问相应的数组元素。,这种方式定义的数组元素,不可使用索引形式访问,45关联

26、数组的概念及定义形式关联数组是指带有指定键的数组,数,46,关联数组应用示例,创建文件keyInd.php,定义上面数组,处理之后输出内容“panda, name is Betty, is very pretty”完成操作,说明:若独立访问关联数组的数组元素,键名需要使用引号定界;若将数组元素放在双引号定界符中,键名则不需要引号定界,46关联数组应用示例创建文件keyInd.php,定义上面数,47,思考问题,若要在数组中增加元素age=1.5,如何完成?能否使用下面循环结构代码逐个输出数组元素的内容?为什么?for($i=0;$icount($arr2);$i+) echo $arr2$i;

27、 ,47思考问题若要在数组中增加元素age=1.5,如,48,混合数组,若是定义了下面混合数组的形式$arr1=array(a, b, name=liuli, c, 34=efg, 23, 67=zhang, 48);元素a、b、c、23和48的索引分别是多少?上面元素的索引分别是0、1、2、35、68,总结:若是索引数组和关联数组的元素混合在一个数组中,对于前者所使用的索引取值,将会依据位于其前面的键名是否是整数形式来决定,若是,则使用该整数之后的数字作为索引,不是,则延续前面自然数列索引的取值,48混合数组若是定义了下面混合数组的形式总结:若是索引数组和,3.4.3 遍历数组,遍历数组是指

28、对数组中每个元素进行访问,完成指定的操作。在PHP中遍历数组可以使用each() 函数完成,也可以使用foreach循环语句完成。,3.4.3 遍历数组遍历数组是指对数组中每个元素进行访问,完,50,each()函数的作用、格式和返回值说明,each()函数可以返回一个数组中当前元素的键和值,并将数组指针向前移动一步,常在循环中用来遍历一个数组。使用格式:each(数组名)。说明只要遍历过程还没有到达数组末尾,使用each()函数就可以获得数组的当前元素的键名以及取值,即该函数返回的是一个具有两个元素的数组,数组元素的键名分别是key和value;若是遍历过程已经到达数组末尾,则each()函

29、数返回false。,50each()函数的作用、格式和返回值说明each()函数,51,应用示例,【示例】创建一个包含指定学生信息的一维数组$stu,使用循环遍历数组的方式逐个输出元素键名和值。运行效果如图所示。,51应用示例【示例】创建一个包含指定学生信息的一维数组$st,52,使用for循环完成,当$i=0时,循环进行第一次,获取数组stu中第一个元素的键名和键值信息,放在数组$print中,存放形式是$printkey= No,$printvalue= 2018087301后面三次循环,形式相似,52使用for循环完成当$i=0时,循环进行第一次,获取数组,53,使用foreach循环语

30、句遍历数组,foreach 语句提供了遍历数组的简单方式,该语句仅能够应用于数组和对象,根据需要获取的内容不同,有两种用法。用法一:foreach (数组 as $value) 语句序列 每次循环中,将当前数组元素的值赋给变量 $value,并且数组内部的指针向前移动一步,为下次循环做准备。用法二:foreach (数组 as $key = $value) 语句序列 每次循环中,将当前数组元素的键名赋给变量$key,数组元素的值赋给变量 $value,并且数组内部的指针向前移动一步,为下次循环做准备。,53使用foreach循环语句遍历数组foreach 语句提,54,使用foreach语句修改前面示例,54使用foreach语句修改前面示例,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号