收藏 分销(赏)

PHP5基本语法.pptx

上传人:a199****6536 文档编号:4823398 上传时间:2024-10-14 格式:PPTX 页数:70 大小:512.93KB 下载积分:16 金币
下载 相关 举报
PHP5基本语法.pptx_第1页
第1页 / 共70页
PHP5基本语法.pptx_第2页
第2页 / 共70页


点击查看更多>>
资源描述
3.1 PHP语法基础3.2 PHP中的常量3.3 PHP中的变量3.4 运算符和表达式3.5 流程控制语句 3.6 自定义函数 3.7 变量的作用域3.8 本章小结3.9 练 习 题第第1 1章章 PHP5PHP5的基本语法的基本语法3.1.1 第一个PHP程序hello,world!几乎已经变成了所有程序语言的第一个范例。因此,在这儿也不例外,我们就先用 PHP 来写一个输出 hello,world!的简单的PHP程序。3.1 PHP3.1 PHP语法基础语法基础3.1.1 第一个PHP程序1:2:3:4:First program5:6:7:10:11:3.1 PHP3.1 PHP语法基础语法基础3.1.1 第一个PHP程序我们再来通过浏览器窗口“查看=源文件”操作来查看其源文件如下:First program for PHP hello,world!3.1 PHP3.1 PHP语法基础语法基础3.1.2 PHP代码的嵌入方式、利用分界符“”这是PHP最为普通的嵌入方式强烈建议使用此方式,这种写法可以为你的程序在跨平台使用时减少不必要的麻烦!、利用分界符“”这 种 方 式 是 简 写 方 式,必 需 在 php.ini文 件 中 将shor_open_tag设置为On(PHP5中默认设置为On),否则编译器将不予解析。3、利 用 分 界 符“”和 “”这是类似于JavaScript和VBScript风格的嵌入方式 4、利用分界符“”这是一种具有ASP风格的嵌入方式,必须在“php.ini”文件中设置asp_tags为On,否则编译器将不予解析。强烈建议少用这种方法,因当 PHP 与 ASP 源代码混在一起时就麻烦喽!3.1 PHP3.1 PHP语法基础语法基础3.1.2 PHP代码的嵌入方式友情提示:其实,在编写 PHP 程序最好的方法,是先处理好纯 HTML 格式的文件之后,再将需要变量或其它处理的地方改成 PHP 程序。这种方法,可以让您在开发上达到事半功倍的效果。3.1 PHP3.1 PHP语法基础语法基础3.1.3 PHP程序注释方法在 PHP 的程序中,加入注释的方法很灵活。可以使用 C 语言、C+语言或者是 UNIX 的 Shell 语言的注释方式,而且也可以混合使用。具体方法如下:、“/”:这是从语法中借鉴来的,该符号只能注释一行。、“/*”和“*/”:这是语言的注释符,符号之间的都将被注释掉。3、“#”:这是UNIX 的 Shell 语言风格的注释符,也只能注释一行。3.1 PHP3.1 PHP语法基础语法基础3.1.4 在PHP中引用外部文件引用文件的方法有两种:require 及 include。两种方式提供不同的使用弹性。其使用方法分别为:require 的使用方法如 require(MyRequireFile.php)、require(MyRequireFile.php)、require MyRequireFile.php、require MyRequireFile.php都是正确的。include 使用方法如 include(MyIncludeFile.php)、include(MyRequireFile.php)、include MyRequireFile.php、include MyRequireFile.php都是正确的。3.1 PHP3.1 PHP语法基础语法基础3.1.4 在PHP中引用外部文件下面我们先建立一个名为“3-4.php”的文件,输入如下代码:1:2:3:4:PHP文件的引用5:6:7:?php8:echo 这是主文件“3-4.php”输出的!;9:include(include.msp);10:echo 继续执行主文件“3-4.php”!;12:?13:13:3.1 PHP3.1 PHP语法基础语法基础3.1.4 在PHP中引用外部文件然后我们再建立一个名为“include.msp”的文件,其代码如下:1:2:3.1 PHP3.1 PHP语法基础语法基础3.1.4 在PHP中引用外部文件友情提示:“include.msp”为被引用的文件名,只要保证该文件的类型为文本类型,它的名字可以任意命名,包含其后缀。这样你是不是可以作出很有个性的文件呢?3.1 PHP3.1 PHP语法基础语法基础PHP的常量包含两种:一种是系统预定义常量,另一种是自定义常量。3.2 PHP3.2 PHP中的常量中的常量3.2.1 预定义常量PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。下面列举了一些常用的系统预定义常量:3.2 PHP3.2 PHP中的常量中的常量3.2.1 预定义常量1、_FILE_这个默认常量是 PHP 程序文件名。若引用文件(include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名。2、_LINE_这个默认常量是 PHP 程序行数。若引用文件(include 或 require)则在引用文件内的该常量为引用文件的行,而不是引用它的文件行。3、PHP_VERSION这个内建常量是 PHP 程序的版本,如 3.0.8-dev。4、PHP_OS这个内建常量指执行 PHP 解析器的操作系统名称,如 Linux。5、TRUE这个常量就是真值(true)。3.2 PHP3.2 PHP中的常量中的常量3.2.1 预定义常量6、FALSE这个常量就是伪值(false)。7、E_ERROR这个常量指到最近的错误处。8、E_WARNING这个常量指到最近的警告处。9、E_PARSE本常式为解析语法有潜在问题处。10、E_NOTICE这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。这些 E_ 开头形式的常量,可以参考 error_reporting()函数,有更多的相关说明。3.2 PHP3.2 PHP中的常量中的常量3.2.1 预定义常量1:2:3:4:PHP预定义常量5:6:7:?php8:echo(_LINE_);/输出89:echo;10:echo(_FILE_);11:echo;12:echo(_LINE_);/输出1213:echo;14:echo PHP_VERSION;15:echo;16:echo PHP_OS;17:?18:18:3.2 PHP3.2 PHP中的常量中的常量3.2.2 自定义常量当然我们在实际编写程序时,仅使用以上的系统预定义常量是不够用。define()的功能可以让我们自行定义所需要的常量。其定义的语法为:define(常量名称,常量内容)用法详见下例:1:2:3:4:PHP定义常量5:6:7:11:12:3.2 PHP3.2 PHP中的常量中的常量3.2.2 自定义常量友情提示:自定义常量在定义和使用时应注意以下几点,这也是自定义常量和变量不同处。在使用时一定要注意哦。常量只能用 define()函数定义,而不能通过赋值语句;常量前面没有美元符号($);常量可以不用理会变量范围的规则而在任何地方定义和访问;常量一旦定义就不能被重新定义或者取消定义;常量的值只能是标量(boolean,integer,float 和 string)。3.2 PHP3.2 PHP中的常量中的常量3.3.1 变量定义与变量类型PHP的变量属于松散的数据类型,具体使用时应注意以下几点:变量名要以“$”开头,且区分大小写;变量不必要预先定义或声明;变量在使用时编译器可动态进行类型指定和转换;变量如果未赋值而直接使用,变量值将被视为空;友情提示:最好使用相同的变量命名风格,以免在团队合作或自己查找错误的时候因变量大小的问题,浪费许多无谓的时间,那就得不偿失了。变量之间若要转换类型,当然是很自由的,但浮点数转成整数就有点牵强了,不过可以将浮点数转成字符串,也是很好处理的。3.3 PHP3.3 PHP中的变量中的变量3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型PHP 支持八种原始类型,其中包含四种标量类型、两种复合类型、两种特殊类型。详细列表如下:分类分类类型类型类型名称类型名称标量类型标量类型 boolean 布尔型布尔型 integer 整型整型 float 浮点型,也作浮点型,也作dobule string 字符串型字符串型复合类型复合类型 array 数组数组 object 对象对象特殊类型特殊类型 resource 资源资源 NULL3.3.1 变量定义与变量类型1、布尔型(boolean)这是最简单的类型,也被称为逻辑型。其值非真即假,主要用于条件表达式和逻辑表达式中,用以控制程序流程。要指定一个布尔值,使用关键字 TRUE 或 FALSE(两个都不区分大小写)。其它类型的数据均可以转换为布尔型,详见类型转换。3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型2、整型(integer)整型数的字长和平台有关,通常最大值是大约二十亿(32 位有符号)。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(-或者+)。要使用 8 进位整数可以在面加 0(零),要使用 16 进位整数可以在面加 0 x。如:$int1=1234 /十进制正整数$int1=-1234 /负整数$int1=01234 /八进制整数$int1=0 x1234 /十六进制整数 3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型3、浮点型(double(floating point number))在 32 位的操作系统中,它的有效范围是 1.7E-308 到 1.7E+308。如:$float1=666.66$float2=6.6666e2 /表示6.6666乘以10的2次方,为指数形式的浮点数应当注意的是,浮点型变量显示所用的十进制数的个数由php.ini文件中的precision(精度)定义,预定值为12,即浮点数的最长为14个数字。3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型4、字符串(string)无论是单一字符或数千字的字符串都是使用这个变量类型。值得注意的是要指定字符串给字符串变量时,要在头尾都加上双引号或单引号(例如:“这是字符串”或这是字符串)。而且在PHP中也提供一些转义字符,用以辅助那些已经被程序语法结构占用了的特殊字符,其列表如下:3.3 PHP3.3 PHP中的变量中的变量3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型4、字符串(string)友情提示:以上的转义字符PHP中和是不一样的,而且也可能无效,在使用时一定要测试通过了之后再用哦!再比如若“n”换行无效,你可以使用“”来换行。转移字符转移字符含含义义双引号双引号反斜线反斜线n换行换行r回车回车t制表符制表符(TAB)$美元符号(美元符号($)x两位数字两位数字表示十六进位字表示十六进位字符符3.3.1 变量定义与变量类型例:文件3-7.php:PHP变量的使用=布尔型、整型、浮点型、字符串 3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型5、数组(array)数组变量可以是一维、二维或者更多维数组,其中的元素也很自由,可以是字符串、整型、浮点型、布尔型,甚至是数组或则对象等。在PHP中可以使用array()函数来创建数组,也可以直接进行赋值。使用array()来创建数组的语法为:$arr=array(value1,valuen)其中key 可以是 integer或者string,是以后存取的标志,特别是当为integer时,没有序号意义,value 可以是任何值。3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型6、对象(object)object为对象类型变量,是类的具体化实例。3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型7、资源(resource)资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄。3.3 PHP3.3 PHP中的变量中的变量3.3.1 变量定义与变量类型8、NULLNULL 类型只有一个值,就是大小写敏感的关键字 NULL,表示一个变量没有值。在下列情况下一个变量被认为是 NULL:被赋值为 NULL。尚未被赋值。被 unset()(销毁指定的变量)。3.3 PHP3.3 PHP中的变量中的变量3.3.2 变量类型转换在前面我们已经提到过,PHP的变量属于松散的数据类型,也就是说PHP在变量定义时不需要(或不支持)类型定义,变量的类型是根据使用该变量的上下文所决定的。如果把一个字符串值赋给变量 var,var 就成了一个字符串;如果又把一个整型值赋给 var,那它就成了一个整数。那么,在PHP中是怎样处理变量不同类型间的相互转换的呢?PHP给我们提供了两种类型转换的方法:自动类型转换和强制类型转换。3.3 PHP3.3 PHP中的变量中的变量3.3.2 变量类型转换PHP 的自动类型转换的一个例子是加号“+”。如果任何一个运算数是浮点数,则所有的运算数都被当成浮点数,结果也是浮点数。否则运算数会被解释为整数,结果也是整数。注意这并没有改变这些运算数本身的类型;改变的仅是这些运算数如何被求值。也就是说,自动类型转换并不能改变变量本身的数据类型,改变得仅仅是变量作为运算数时被求值得方式。3.3 PHP3.3 PHP中的变量中的变量3.3.2 变量类型转换PHP 中的类型强制转换和C中的非常像:在要转换的变量之前加上用括号括起来的目标类型。允许的强制转换有:(int),(integer):转换成整型(bool),(boolean):转换成布尔型(float),(double),(real):转换成浮点型(string):转换成字符串(array):转换成数组(object):转换成对象其使用方法为:“(int)$变量名”。3.3 PHP3.3 PHP中的变量中的变量3.3.2 变量类型转换当转换为 boolean 时,以下值被认为是 FALSE:布尔值 FALSE整型值 0(零)浮点型值 0.0(零)空白字符串和字符串 0 没有成员变量的数组没有单元的对象(仅适用于 PHP 4)特殊类型 NULL(包括尚未设定的变量)所有其它值都被认为是 TRUE(包括任何资源)。值得注意的是,-1 和其它非零值(不论正负)一样,被认为是 TRUE!在表达式求值和条件判断时一定要注意哦!3.3 PHP3.3 PHP中的变量中的变量3.3.3“变量的变量”“变量的变量”这个名称并不太准确,有的地方也称为可变变量或动态变量。就是说,通过“变量的变量”我们可以实现一个变量值成为一个变量。下面我们通过一个实例就很容易理解它的使用方法。3.3 PHP3.3 PHP中的变量中的变量3.3.3“变量的变量”1:2:3:4:变量的变量5:6:7:12:13:3.3 PHP3.3 PHP中的变量中的变量3.3.4 引用变量 PHP 中支持引用变量,这是从C+语言中借用而来的。对一个变量进行引用产生新变量后,新变量可以看作是原变量的一个别名,改变其中任何一个的值,两个值都会发生改变。使用引用变量的方法是赋值时在右边变量前加“&”符号,具体实例如下:3.3 PHP3.3 PHP中的变量中的变量3.3.4 引用变量 1:2:3:4:引用变量5:6:7:13:14:3.3 PHP3.3 PHP中的变量中的变量3.4.1 PHP运算符PHP的运算符大部分是从C语言中借用而来的,共分以下几类:算术运算符:+、*、/、%、+、-字符串运算符:.赋值运算符:=、+=、-=、*=、/=、%=、.=位运算符:&、|、逻辑运算符:&(And)、|(Or)、xor(Xor)、!(Not)比较运算符:、=、=、=、!=其他运算符:$、&、-、=、?:3.4 3.4 运算符和表达式运算符和表达式3.4 3.4 运算符和表达式运算符和表达式 3.4.1 PHP的运算符1、算术运算符号 就是用来处理四则运算的符号,这是最简单,也最常用的符号,尤其是数字的处理,几乎都会使用到算术运算符号.例:文件3-16.php:算术运算符的应用 符号符号意义意义+加法运算加法运算-减法运算减法运算*乘法运算乘法运算/除法运算除法运算%取余数取余数+累加累加-累减累减3.4.1 PHP的运算符友情提示:PHP中的除法运算得到的结果是整数就是整数,是实数就是实数。PHP中的求模运算会对两操作数自动取整。另外,在PHP中字符也可以进行自增运算,这样是不是就可做成选择题的a、b、c、d选项序号呢?3.4 3.4 运算符和表达式运算符和表达式3.4.1 PHP的运算符2、字符串运算符字符串运算符号只有一个,就是英文的句号“.”。它可以将字符串连接起来,变成合并的新字符串,也可以将字符串与数字连接,这时类型会自动转换。3.4 3.4 运算符和表达式运算符和表达式3.4 3.4 运算符和表达式运算符和表达式3.4.1 PHP的运算符3、赋值运算符 符号符号意义意义=将右边的值赋给左边的变量将右边的值赋给左边的变量+=将左边的值加上右边的值赋给左边的变量将左边的值加上右边的值赋给左边的变量-=将左边的值减去右边的值赋给左边的变量将左边的值减去右边的值赋给左边的变量*=将左边的值乘以右边的值赋给左边的变量将左边的值乘以右边的值赋给左边的变量/=将左边的值除以右边值赋给左边的变量将左边的值除以右边值赋给左边的变量%=将左边的值对右边取余数赋给左边的变量将左边的值对右边取余数赋给左边的变量.=将左边的字符串连接到右边将左边的字符串连接到右边3.4 3.4 运算符和表达式运算符和表达式4、逻辑运算符逻辑运算通常用来测试真假值。逻辑运算经常用在条件判断和循环处理中,用来判断条件是否满足和是否该离开循环或继续执行循环。逻辑运算符的具体含义如下:符号符号意义意义&(and)逻辑与逻辑与|(or)逻辑或逻辑或xor逻辑异或逻辑异或!逻辑非逻辑非3.4 3.4 运算符和表达式运算符和表达式3.4.1 PHP的运算符6、比较运算符比较运算符和逻辑运算的用法差不多,通过比较大小来测试真假值,经常用在条件判断和循环处理中,用来判断条件是否满足和是否该离开循环或继续执行循环。比较运算符的具体含义如下:友情提示:“=”为PHP 4 中新增的比较运算符,用于类型判等。例如:”3”=3将判为假。其他的比较运算符和C语言的基本一致,这儿就不再多说了。符号符号意义意义大于大于=大于或等于大于或等于=等于(不包括类型)等于(不包括类型)=完全相等(包括类型)完全相等(包括类型)!=不等于不等于3.4 3.4 运算符和表达式运算符和表达式3.4.1 PHP的运算符7、其他运算符:其中比较特殊的是三目运算符“?:”,例如:(expr1)?(expr2):(expr3);表示如果expr1的运算结果为true,则执行expr2;否则执行expr3。实际上它有点类以 if.else 循环,但可以让程序较精简有效率。此外,还有用于新对象的定义符new、用于数组下标引用的方括号“”、表示结合性的大括号“”等。友情提示:PHP中的运算符是十分丰富的,而且使用起来也很灵活,希望大家多多上机实践练习哦!符号符号意义意义$用于定义变量用于定义变量&变量的地址变量的地址(加在变量前加在变量前引用变量引用变量)屏蔽错误信息屏蔽错误信息(加在函数加在函数前前)-引用对象的方法或者属引用对象的方法或者属性性=用于给数组元素赋值用于给数组元素赋值?:三目运算符三目运算符3.4 3.4 运算符和表达式运算符和表达式3.4.2 运算符优先级与结合性运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1+5*3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1+5)*3 的值为 18。如果运算符优先级相同,则使用从左到右的左联顺序。下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序 优先级优先级结合方向结合方向运算符运算符附加信息附加信息1(最高)(最高)非结合非结合newnew2左左array()3非结合非结合+-递增递减运算符递增递减运算符4非结合非结合!-(int)(float)(string)(array)(object)类型类型5左左*/%算数运算符算数运算符6左左+-.算数运算符和字符串运算符算数运算符和字符串运算符7左左位运算符位运算符8非结合非结合=逻辑运算符逻辑运算符9非结合非结合=!=!=逻辑运算符逻辑运算符10左左&位运算符和引用位运算符和引用11左左位运算符位运算符12左左|位运算符位运算符13左左&逻辑运算符逻辑运算符14左左|逻辑运算符逻辑运算符15左左?:三元运算符三元运算符16右右=+=-=*=/=.=%=&=|=赋值运算符赋值运算符17左左and逻辑运算符逻辑运算符18左左xor逻辑运算符逻辑运算符19左左or逻辑运算符逻辑运算符20左左,多处用到多处用到3.4.3 表达式表达式,就是由操作数、操作符以及括号等所组成的合法序列。简单地说,PHP中的常量或变量通过运算符连接后就形成了表达式,例如“$a=1”为一个表达式。表达式也有值,如上面的这个表达式的值就是1。根据表达式中运算符类型的不同我们又可以把表达式分成:算术表达式、字符串连接表达式、赋值表达式、位运算表达式、逻辑表达式、比较表达式、其他表达式等。最常见的表达式是比较表达式和逻辑表达式,这种表达式的值只能是真或假,在下面一节的流程控制中,会大量使用这两种表达式。友情提示:“$a=1”为表达式,“$a=1;”则为一条语句。一定要分清楚哦!3.4 3.4 运算符和表达式运算符和表达式PHP中提供了4条流程控制语句来实现分支结构和循环结构,即:ifelse条件语句switch分支选择语句dowhile 循环语句for循环语句此外PHP还提供了break语句和continue语句,用以跳出分支结构或循环结构,下面我们就将这些语句逐一进行详细的介绍。3.5 3.5 流程控制语句流程控制语句一、ifelse语句1、只有if的语句这种结构可以当作单纯的判断,可解释成 若某条件成立则去做什么事情。语法如下:if(expr)statement其中的 expr 为判断的条件表达式,通常都是有比较表达式或逻辑表达式来充当,而 statement 为符合条件的执行语句部分程序,若程序只有一行,可以省略大括号。如果expr 为真,则执行statement 语句或语句体。3.5.1 3.5.1 分支控制语句分支控制语句一、ifelse语句2、ifelse语句这种结构可解释成 若某条件成立则去做什么事情,否则去做什么事情。其语法如下if(expr)statement1 else statement23.5.1 3.5.1 分支控制语句分支控制语句一、ifelse语句3、else if语句前面的两种分支结构只能实现二路分支,用包含else if的语句则可以实现多路分支,其语法如下:if(expr1)statement1 else if(expr2)statement2else if else statementn3.5.1 3.5.1 分支控制语句分支控制语句二、switch语句嵌套的ifelse语句可以处理多分支流程情况,但使用起来比较繁琐而且分析也不太清晰,为此PHP中又引进了switch语句。其语法如下switch(expr)case expr1:statement1;break;case expr2:statement2;break;:default:statementN;break;其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。一定要注意break为跳离循环,千万不能省略不写。3.5.1 3.5.1 分支控制语句分支控制语句一、dowhile语句1、只有while部分的语句其语法如下while(expr)statement2、dowhile两部分都有的语句其语法如下:do statement while(expr);3.5.2 3.5.2 循环控制语句循环控制语句二、for语句for语句仅有单纯的一种,没有其他变化,但同时他也是最复杂,功能最强大的循环,任何while循环和dowhile循环都可以用for循环代替,其语法如下:for(expr1;expr2;expr3)statement其中expr1为条件的初始值,expr2为判断的条件,通常都是用比较表达式或逻辑表达式充当判断的条件,expr3为执行statement后要执行的部份,即循环步长,用来改变条件,供下次的循环判断,如加1、减1等等。而 statement 为符合条件后执行的语句或语句体,若statement只有一条语句组成,则可以省略大括号。3.5.2 3.5.2 循环控制语句循环控制语句二、for语句for循环改写如下:?phpfor($i=1;$i=10;$i+)echo$i.以后不敢了;?3.5.2 3.5.2 循环控制语句循环控制语句3.5.3 break和continue语句我们在switch和for语句的举例中都用到了break语句,他的作用就是跳出整个的switch或for语句体,执行其外的下面的语句。而continue经常用在for或dowhile循环语句中,表示跳出本次循环,继续进入下一次的循环。3.5 3.5 流程控制语句流程控制语句3.6.1函数定义与调用PHP 中的函数C语言一样。函数定义的语法为:function 函数名(形式参数列表)函数体;return 返回值;3.6 3.6 自定义函数自定义函数3.6.1函数定义与调用PHP 中的函数有无返回值都允许。而且,在函数的名称上,PHP 对于大小写的管制比较松散。可以在定义函数时写成大写的名字,而在使用时使用小写的名字。不过,PHP 对用户自定义函数名也是有一些要求的,具体如下:不能与PHP的内部函数同名不能与PHP的关键字重名不能以数字或下划线开头不能包含点号“.”和中文字符 函数体是实现函数功能的语句体,与for循环等不一样,函数体中即使只有一条语句,外面的大括号也不能省略。3.6 3.6 自定义函数自定义函数3.6.1函数定义与调用函数调用的语法为:函数名(实际参数列表);实际参数列表要与形式参数列表相对应(有默认参数时实际还要与默认参数对应)。如果实际参数比形式参数多,多于的参数会被自动舍弃;如果实际参数比形式参数少,实际参数会被一一填入形式参数中,不足部分以空参数代替。实际参数和形式参数之间的传递机制我们会在下一小节中讲述。如果函数有返回值,还可以利用函数调用为变量赋值,其语法为:变量=函数名(实际参数列表);3.6 3.6 自定义函数自定义函数3.6.2 参数传递1、值传递 作为值传递,就是将实际参数的值拷贝到形式参数中。然后由形式参数参与函数内部的计算,函数调用结束后,实际参数的值不会发生改变。用这种方式调用的函数一般都有返回值或输出值,否则函数调用实际上什么也没有做。例3-22就是使用的这种传递方式。初学者一般常使用这种传递方式。3.6 3.6 自定义函数自定义函数3.6.2 参数传递2、引用传递如果要实现形式参数改变时实际参数也发生相应的改变,就要使用引用传递的方式。参数的引用传递也有两种方法:在函数定义的时候,在形式参数前面加上“&”符号,例如:function fun(&$var1)在函数调用的时候,在实际参数前面加上“&”符号,例如:fun(&$var2)如果形式参数$var1的值在函数中发生改变,实际参数$var2的值也会发生相应的改变。3.6 3.6 自定义函数自定义函数3.6.2 参数传递3、默认参数PHP 还支持有默认值的参数,即在函数定义时可以为一个或多个形式参数指定默认值。3.6 3.6 自定义函数自定义函数3.6.3 变量函数PHP 支持变量函数的概念,可以方便地利用变量实现对函数的调用。使用的基本格式为:function fun()$var=”fun”;$var();其中调用$var()就相当于调用函数fun(),$var()为可变函数。可变函数与普通函数调用时的最大区别就在于可变函数前面有”$”,有此符号,系统就会认为是可变函数。3.6 3.6 自定义函数自定义函数PHP 中的变量就其作用域的不同可以分为若干种类,比如局部变量、全局变量、静态变量、动态变量、引用变量、预定以变量、外部变量等,其中引用变量我们已经学习过了,预定义变量和外部变量我们将在第5章中讲解,下面我们就前4种变量的进行如下讲解。3.7 3.7 变量的作用域变量的作用域3.7.1 局部变量与全局变量 PHP中的变量是有作用范围的,一般情况下,变量的作用域是包含变量的PHP程序块,也就是“”之间的代码或者“”、“”之间的代码。如果其中还有include()或require()函数包含的文件,变量的作用域也可以扩展到这些文件里。在主程序中定义的变量只在主程序中有效,在函数中定义的变量只在函数中有效,在函数之外就无效了。3.7 3.7 变量的作用域变量的作用域3.7.1 局部变量与全局变量 如果要在函数中引用主程序中的变量的值,使用PHP定义的$GLOBALS数组,$GLOBALS数组是一个以变量名为下标的数组,我们可以直接调用。global$变量名;3.7 3.7 变量的作用域变量的作用域3.7.2静态变量和动态变量 静态变量只能用于函数范围内,与普通局部变量不同之处在于:当该函数运行结束时,静态变量不会丢失自己的值。静态变量的定义方法为在变量名前冠以“static”关键字。PHP中的动态变量允许一个变量的值作为另一个变量的变量名,前提条件是这个值要符合变量命名的规则。其实就是我们前面学习过的“变量的变量”,我们之所以在此处再拿出来讲解,是为了与静态变量相对应。3.7 3.7 变量的作用域变量的作用域1.PHP中如何引入外部文件?2.PHP中如何定义自定义常量?3.PHP中如何进行变量类型的转换?4.PHP中如何使用引用变量?5.PHP 中的操作符有哪些类型?6.PHP 中实现分支结构和循环结构都有哪些语句?7.PHP中自定义函数如何定义,如何使用?8.PHP中自定义函数的参数传递有几种方式?9.PHP 5中如何定义类和对象?10.PHP 5的类中变量有几种类型?11.分别用循环语句和函数思想实现九九乘法表。3.10 3.10 练练 习习 题题
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服