实验课程目标

上传人:痛*** 文档编号:243943470 上传时间:2024-10-01 格式:PPT 页数:36 大小:231.50KB
返回 下载 相关 举报
实验课程目标_第1页
第1页 / 共36页
实验课程目标_第2页
第2页 / 共36页
实验课程目标_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Lecture 2,:,PHP,基础,实验课程目标,1.,掌握,PHP,基本语法,2.,掌握,PHP,变量、常量、数组与数据类型,3.,掌握,HTML,中,PHP,的输出,4.,掌握,PHP,基本控制流程,PHP,语法的概述,PHP,语法主要借鉴于,C/C+,,也部分参考了,Java,和,Perl,。,类似,C,语言,书写,PHP,代码的时候,每句完成代码后都要以分号“;”结束。,既然是一门编程语言,肯定会由多种编程元素组成,如变量、常量、运算符、控制语句、数组、字符串、函数和对象等。,PHP,程序注释,通常使用:,(1) /,(2),/*/,(3),#,?,php,echo C+,语言注释的方法即,/ ; /,采用,C+,的注释方法,/*,多行注释,对于大段的注释很有用的哦 *,/,echo ,多行注释方法即,/*.*/ ;,echo Unix,的注释方法即,# ; #,使用,UNIX Shell,语法注释,?,类似,ASP,的,%,,,PHP,可以是,?,php,或者是,,当然您也可以自己指定。通常情况下,有以下几种方式:,(1), /,推荐使用,(2) ,(3) ,(4) ,嵌入方法,引用文件的方法有两种:,include,和,require,include,的使用方法,如,:,include(MyIncludeFile.php,);,。,这个函数一般是放在流程控制的处理部分中,。,PHP,程序网页在读到,include,的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。,require,的使用方法,如,:,require(MyRequireFile.php,);,。这个,函数通常放在,PHP,程序的最前面,,,PHP,程序在执行前,就会先读入,require,所指定引入的文件,使它变成,PHP,程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。,引用文件,标示符,标示符是适用于变量、函数和其他各种用户定义对象的一般术语。,标示符可以由一个或多个字符组成,但必须以字母或下划线开头。,标示符区分大小写。,标示符名不能与任何,PHP,预定义关键字。,PHP,中的常量,PHP,中对常量的类型要求是不严格的,常量分为预定义常量和自定义常量两种,预定义常量:,PHP,内部事先已经定义了的常量,预定义常量有多种不同的开头,决定了各种不同的类别,自定义常量:由用户自行依据程序的需要来定义的常量,自定义常量的定义格式:,define (“,常量名”,表达式或值,),例:,define (“CONSTANT”, “Hello, World.”),示例,PHP,的变量,1,、,PHP,变量名的约定,:,(1) PHP,的变量名区分大小写,;,(2),变量名必须以美元符号,$,开始,;,(3),变量名开头可以以下划线开始,;,(4),变量名不能以数字字符开头,.,2,、,PHP,变量的类型,:,PHP,变量数据类型的定义是通过变量的初始化,系统设定,.,$,mystring,= ,我是字符串, ;,$,NewLine,= ,换行了, ;,$int1 = 38 ;,数据类型可分为二种:一是,标量数据类型,,二是,复合数据类型,。,标量数据类型:,(1),布尔型(,boolean,),(2),整形(,integer,),(3),浮点型(,float,),(,浮点数,也做,”,double”),(4),字符串(,string,),复合数据类型,(1),数组(,array,),(2),对象(,object,),另外,,PHP,中,还有两种特殊的数据类型:,(1,)资源(,resource,),(2),空值(,NULL,),布尔型(,boolean,),这是最简单的类型。,boolean,表达了真值,可以为,TRUE,或,FALSE,。,注,:,布尔类型是,PHP 4,引进的。,语法,要指定一个布尔值,使用关键字,TRUE,或,FALSE,。两个都是大小写不敏感的。,通常你用某些,运算符,返回,boolean,值,并将其传递给,流程控制,。,整形(,integer,)和浮点型(,float,),整数大小超出其范围后,自动转化为双精度型,,浮点型(,float,),双精浮点型,浮点数(也叫“,floats”,,“,doubles”,或“,real numbers”,)可以用以下任何语法定义:,浮点数的字长和平台相关,尽管通常最大值是,1.8e308,并具有,14,位十进制数字的精度(,64,位,IEEE,格式)。,浮点数精度,显然简单的十进制分数如同,0.1,或,0.7,不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,,floor(0.1+0.7)*10),通常会返回,7,而不是预期中的,8,,因为该结果内部的表示其实是类似,7.9999999999.,。 这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的,1/3,变成了,0.3333333. . .,。 所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用,任意精度数学函数库,或者,gmp,函数库,。,字符串(,string,),字符串可以用三种字面上的方法定义。,单引号,双引号,定界符,单引号,指定一个简单字符串的最简单的方法是用单引号(字符,)括起来,。,要表示一个单引号,需要用反斜线(,)转义,和很多其它语言一样。如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。注意如果你试图转义任何其它字符,反斜线本身也会被显示出来!所以通常不需要转义反斜线本身。,注,:,在,PHP 3,中,此情况下将发出一个,E_NOTICE,级的警告。,注,:,和其他两种语法不同,单引号字符串中出现的,变量,和转义序列,不会,被变量的值替代。,字符串(,string,),反斜线,$,美元符号,“,双引号,0-71,3,此正则表达式序列匹配一个用八进制符号表示的字符,x0-9A-Fa-f1,2,此正则表达式序列匹配一个用十六进制符号表示的字符 此外,如果试图转义任何其它字符,反斜线本身也会被显示出来!,双引号字符串最重要的一点是其中的变量名会被变量值替代。,字符串(,string,),定界符,另一种给字符串定界的方法使用定界符语法(“,”,)。应该在,之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。,结束标识符,必须,从行的第一列开始。同样,标识符也必须遵循,PHP,中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。,字符串(,string,),3,、检查变量的类型(,var_dump,(),),?,php,$a=; /,空字符串,$b = 3.1; /,浮点型,$c= TRUE; /,布尔型,echo $a,类型是:,;,/,分别输出类型,var_dump($a,);,echo $b,类型是:,;,var_dump($b,);,echo $c,类型是:,;,var_dump($c,);,?,4,变量的作用域,变量的使用范围,也叫做变量的作用域,,作用域从技术上来讲,就是变量定义的上下文背景(也就是它的有效范围)。大部分,PHP,变量只有一个单独的范围。这个单独的范围跨度同样包含了,include,和,require,引入文件,例如,:,这里变量,$a,将会在包含文件,b.inc,中生效。,在用户自定义函数中,一个局部函数范围将被引入。任何用与函数内部的变量按缺省情况将被限制在局部函数范围内。例如:,这个脚本不会有任何输出,因为,echo,语句引用了一个局部版本的变量,$a,,而且在这个范围内,它并没有被赋值。你可能注意到,PHP,的全局变量和,C,语言有一点点不同,在,C,语言中,全局变量在函数中自动生效,除非被局部变量覆盖。这可能引起一些问题,有些人可能漫不经心的改变一个全局变量。,PHP,中全局变量在函数中使用时必须申明为全局。,使用一个全局的变量,global,关键字,以上脚本的输出将是“,3”,。在函数中申明了全局变量,$a,和,$b,任何变量的所有引用变量都会指向到全局变量。对于一个函数能够申明的全局变量的最大数,,PHP,没有限制。,例如,:,PHP,超级全局变量,$_SERVER,$_GET,$_POST,$_COOKIE,$_FILES,$_ENV,$_REQUEST,$_SESSION,$GLOALS,5,、连接符,(.),在,PHP,中,字符串的连接符和,C+,语言以及,Java,等是非常不一样的。它使用“,.”,来做为连接符,而不是像我们其他语言一样,拥有点语法。,注,:,因为“,.”,只是字符串连接符,就好象,VB,里的“,&”,符号一样。,6,、引号中的变量,以上脚本输出,your name is Jane,在,PHP,中,字符串内可以任意插入变量。,预定义变量的访问,直接访问(在全局变量前面加美元符号“,$”,)如:,$REQUEST_METHOD,PHP,中直接访问要修改,php.ini,设置:,register_globals,=OFF,改成,register_globls,=“ON”,用,$HTTP_VARS,方法访问预定义变量,register_long_arrays,=“OFF”,改成,register_long_arrays,=“ON”,超全局变量访问预定义变量,静态变量,利用,static,修饰的变量(见例子),PHP,中的数组实际上是一个有序图。图是一种把,value(,值,),映射到,keys(,键,),的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组(真正的数组在前面的课程,javascript,已经学过了,这里只介绍与以前数组之间的区别)来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个,PHP,数组做为值,也可以很容易的模拟树。,解释这些结构超出了我们学习,PHP,的范围,但对于每种结构至少会发现一个例子。,4,数组,一、创建一个数组,语法:,array,array(mixed,),返回根据参数建立的数组。参数可以用,=,运算符给出索引。,注意:,array(),是一个语言结构,用于字面上表示数组,不是常规函数。, “bar”, 12= true);,echo $,arr“foo,”;/,输出,bar,echo $arr12;/,输出,1,?,/key,可以是整型或者是字符串,而,value,可以是任何值,二、操纵,PHP,数组,(一)在数组的末尾添加值,要向一个存在的索引数组中插入较多的值,可以使用, ,语法:,$family =,array(Fred,Wilma,);,$family = Pebbles; /$family2,为,Pebbles,(二)指定值的范围,函数,range(),创建连续的整数或字符的数组,其值在传递给它的两个参数值之间,例如:,$numbers = range(2,5);,/$numbers = array(2,3,4,5),$letters =,range(a,z,);,/$letters,保存字母表,$,reversed_numbers,= range(5,2);,/,reversed_numbers,=array(5,4,3,2),只有字符串参数的第一个字母用于建立范围:,range(aaa,zzz,); /,与,range(a,z,),相同,(三)得到数组的大小函数,count(),和,sizeof,(),的使用方法和作用是相同的。他们返回数组中的元素数。使用哪一个函数没有格式上的有限选择,下面是一个例子,:,$family =,array(Fred,Wilma,Pebbles,);,$size =,count($family,); $size,为,3,(四)填充数组,要用相同的值创建一个初始化的数组,可使用,array_pad,(),。,array_pad,(),的第,一个参数是该数组,,,第二个参数是你想要该数组拥有的最少元素数,,第三个参数是,为所创建的元素给出值,。,array_pad,(),函数返回一个新的填充数组,,而抛弃它的参数数组。,下面例子反映了,array_pad,(),的工作过程:,$scores = array(5,10);,$padded = array_pad($scores,5,0);,/$padded,现在为,array(5,10,0,0,0),(五)在数组中删除和插入元素,函数,array_splice,(),可以在数组中删除或插入单元。,$removed =,array_splice,(,array,start,length,replacement,);,删除,$subject=,array(php,asp,c,c,#);,$removed=array_splice($subject,2);,替换,$new=,array(sql,server,xml,mysql,);,Array_splice($subject,4,3,$new);,插入,Array_splice($subject,4,0,$new);,5,逻辑表达式,I,每个流程控制语句都有两个独特的部分,一个是条件,另一个则是符合条件后执行的过程,而一般条件我们都是使用一个布尔表达式返回我们是否要执行这些执行过程。因为在计算机里,计算机只有真或假这两个逻辑,所以我们也只可以在程序里使用,true,或者,false,来表示是否来执行。,一、布尔常量,这里,最简单的表达式是一个简单的值,而我们的,boolean,类型的值我们知道,只有两个,不是,true(,真,),即是,false(,假,),。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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