PHP培训函数课堂笔记

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

教你们如何训练军犬军犬最大的特征:听话:你让他干嘛他就干嘛。不让他就不叫。1.什么是函数a)函数就是一个功能i.Is_floatisset()emptyunset()都是函数函数的单词function功能/函数学习函数应该学习三点函数的作用函数的参数函数的返回值2.函数的学习流程a)1.学习函数的定义☆b)2.学习如何自定义函数☆☆☆☆☆c)3.了解return的作用☆☆☆☆☆d)4.了解函数的参数☆☆☆☆☆e)学习函数的变量作用域☆☆f)引用传参☆☆☆☆☆g)特殊的函数类型h)变量函数☆☆i)静态函数☆j)回调函数☆☆☆k)递归函数☆☆☆☆☆l)内部函数☆m)闭包函数☆n)匿名函数☆o)匿名回调函数☆☆p)可变长度参数列表q)文件包含☆☆☆☆☆1.学习函数的定义a)基本格式:i.Function函数名(){i.PHP语句(函数体)ii.}1.函数的姓就是function不能省略2.函数名如何定义?i.可以使用英文不可以使用中文。ii.可以使用数字,但是不能以数字开头iii.不能使用特殊字符,_除外iv.函数声明要有意义v.函数名不区分大小写vi.不可以和已经存在的函数(系统和自定义)重名3.函数的特征i.函数定义之后,不调用不执行。ii.函数调用不分先后,原因:因为PHP解析器在执行页面代码之前就已经预先加载了函数的部分内容。2.return语句的作用:a)具有return的函数就是有返回值的函数b)没有return的函数就是称之为执行过程函数。作用1:如果函数中存在return,并且执行了该return语句,那么该函数执行的结果就可以用变量接收作用2:如果函数的执行过程中执行了return语句,那么后续代码都不在执行。注意:一个函数中可以有多个return语句,但是程序只能执行一条,一般多个return语句都是使用分支结构分开存放Echo和return的区别?Echo是直接将函数内部的结果输出到浏览器。得不到任何结果,只能通过浏览器查看到,这种情况的函数也叫做执行过程函数。Return值将函数内容返回给函数,这时,函数给赋值给变量,变量接收到函数的结果后,可以给下方代码继续使用。例子:echo就相当于上厕所放了个屁,只能问道和听到。Return是上厕所有实质的东西出来,你可以打包装袋,干什么都行。3.函数的参数a)参数分为形参和实参2部分i.形参就是形式上的参数,在定义函数的括号中使用ii.实参就是实际上的参数,在调用函数的括号中使用注意:1.如果函数有定义形参,那么调用函数是需要传入对应的实参(形参没有默认赋值)2.如果函数同时具备形参的默认值,并且也传入了实参,那么传进来的值以实参为主。相当于变量赋值,用实参的值,覆盖了形参。3.如果要传入实参,必须和形参的位置一一对应。4.如果形参中具有多个形参有默认值,将最有可能传入实参的形参放入前面。5.如果函数同时具有欧默认值的形参和没有默认值的形参,那么没有默认值的形参一定要放到有默认值的形参前。6.传入的参数一定要和形参对应,免得出现逻辑问题。4,函数的变量作用域局部变量在函数中定义的变量的就是局部变量,其作用范围仅限函数的内部。注意:形参也是函数内部的变量,作用范围仅限函数的内部全局变量普通变量在函数外部声明的变量,其作用范围就是当前页面部分,函数内部无法使用。全局变量:在函数的内部和外部都可以访问和使用的变量就是全局变量。实现全局变量的方式1在函数外部具有一个变量在函数内部也具有一个同名变量然后在函数内部的同名变量前使用global关键字既可以实现全局变量注意:global声明全局变量时禁止赋值注意:如果一个变量在函数内部已经赋值,之后使用global进行全局化声明,声明以后将变量再次赋值,那么该值才成为函数外部变量的值全局变量的声明方式2在函数内部可以使用$GLOBALS[变量名]的方式直接调用函数外部变量的值,此时函数内部都可以使用,实现了另外一种方式的全局变量。全局变量总结:函数外部有一个变量,函数内部更改这个变量后,函数外部的变量也随其更改,这就是全局变量5.静态变量静态函数在函数内部使用static声明的变量就是静态变量静态变量的特征:1.静态变量只会被初始化一次2.静态变量在函数运行结束后不会被回收。3.静态变量一般用于计算函数调用的次数6.引用穿参(变量引用)在设定函数形参时,如果在形参变量之前添加&符号,表示实参传递时要以引用传递方式将实参的值传递给形参如果使用引用穿参,那么函数内部的引用传参的形参值发生改变,对应的外部实参变量的值也发生改变,效果类似于全局变量作业一:自己定义一个array_shift的功能完全一样。7.变量函数当一个变量的值是某个函数的名称字符串时,我们可以使用变量()的方式调用对应名称的函数,这种调用方式就是变量函数例子:$var=‘demo’;Functiondemo(){Php代码}//变量函数的使用$var();8.回调函数回调函数只是变量函数的一个变形,本质上还是变量函数的应用简单的说:就是在一个函数内回过头去调用另外一个函数,那么这个函数就被称为回调函数在一个函数(A函数中),通过变量函数的方式($var()),调用另外一个函数(B函数,C函数),而且函数名通过A函数的参数传递进来,这种方式就是回调函数,因为函数A中的变量函数($var())会根据用户传入不同的实参回过头调用不同名称的其他函数(B函数,C函数)格式:Functina($var){$var();//回调函数要素1:变量函数}Functionb(){}Functionc(){}A(‘b’)在A函数中调用B函数,//回调函数要素2。传入函数名称字符串。9.内部函数a)什么是内部函数:在函数内部声明的函数就是内部函数1.在函数外部是否可以调用内部函数不可以直接调用但是如果调用外部函数之后,就可以任意调用内部函数2.在函数内部是否可以调用内部函数i.可以调用ii.但是必须在内部函数定义之后调用。10.匿名函数概念很简单,没有名字的函数就是匿名函数如果声明一个函数,而该函数没有函数名,那么这个函数就是匿名函数用法1。用变量接收匿名函数变量名=function(){函数体};这是表达式属于对象类型,所以可以赋值给变量。最后通过变量函数的方式调用匿名函数-》变量名();11.闭包函数a)在子函数内部使用父函数的变量,这种方式就是闭包。闭包函数建立与匿名函数的基础上。格式:Function父函数(){$var=值;//父函数的局部变量变量=function()use($var){//子函数这时可以使用$var变量};变量();}12.匿名回调函数a)回调函数的区别:i.1.以字符串方式传入的回调函数ii.2.以匿名方式传入的回调函数iii.字符串方式传入的回调函数,该函数可以使用多次,任意调用。因为这是一个预先加载的普通函数。iv.匿名函数方式传入的回调函数只能在当前回调函数中使用,其他地方无法使用。v.匿名函数的回调方式效率高,回调函数运行完毕,匿名函数既被回收,而字符串传入的函数由于是预先加载的普通函数,所以页面没执行完毕时,永不消失13.可变长度参数列表a)在函数中,实参的实际传入个数允许超过形参的个数,在次情况下如果想获取所有传入的实参,可以使用函数func_get_args()来获取所有实参组成的数组,在函数内部进行其他操作b)注意:func_get_args()仅在函数内部使用。1.常规函数boolcopy(string$source,string$dest)2.带有mixed的函数,表示可以传任何类型的数据变量或者是值都可以boolis_int(mixed$var)3.带有&符参数的函数,表示这个参数不能传数值,只能传一个变量,函数中将变量的值改变,我们在使用这个变量时也是变化的(引用传值)boolsort(array&$array[,int$sort_flags=SORT_REGULAR])4.带有中括号[]的函数,表示这个参数是可选的,如果你传值了就只用你传的值,如果没有传值,就使用默认值也叫默认函数boolsort(array&$array[,int$sort_flags=SORT_REGULAR])5.带有...的参数函数,表示可以传任意多个参数。intarray_unshift(array&$array,mixed$var[,mixed$...])6.带有callable参数的函数,表示该参数一定要传入一个回调函数,一种传入一个函数名称字符串,另外一种直接传入匿名函数arrayarray_filter(array$input[,callable$callback=])递归。。。累下个礼拜作业:预习数组函数字符串函数时间函数作业:自定义一个array_unshift的功能自定义一个array_push的功能要求和系统的一模一样索引数组关联数组。Functiona(){Array_unshift();无效}//自定义一个功能将该数组中所有性别为男的年龄+2然后在按照年龄进行排序正序排序$arr=array(Array(‘name’=’’,’age’=20,’sex’=’女’),Array(‘name’=’’,’age’=24,’sex’=’男’),Array(‘name’=’’,’age’=26,’sex’=’男’),Array(‘name’=’’,’age’=20,’sex’=’女’),)课堂代码三遍。文件的包含:Include作用:相当于将文件的内容复制到执行的文件当中。常用语包含函数库或者是配置文件等,但是任何PHP文件都可以包含。格式:Include‘文件路径’;Include(‘文件路径’);Include_once单次的文件包含作用:相当于将文件的内容复制到指定的文件中,但是如果文件已经包含过,将不在包含,不在包含时返回bool值的true表示文件已经被包含过。以上两个函数包含成功返回int1Include和include_once区别:1.include包含文件可以包含N此,而include_once只能包含一次2.Include的效率要高于include_once。因为include_once需要判断3.Include包含文件成功,返回数值整型,但是incldue_once第一次包含返回数值整型1,以后包含相同文件返回true;Require请求,需要作用和inlcude几乎相同将一个文件请求到另一个文件当中。格式:require(‘要包含的路径’);Require‘要包含的路径’;Include和require的区别:Include包含文件如果包含失败,提示warning级错误,后续代码继续执行。Require包含文件如果包含失败,提示error级别的错误,后续代码将不再执行。Require_once:作用:相当于用require的方式,仅包含一次文件,功能类似于include_once。都是包含一次Require和require_once区别:相当于include和include_once的区别。10K1W预习作业:时间和错误处理作业:自定义一个功能字符串大小写转换dax12io9ngDA今日讲解课堂代码3遍所有的函数数组函数字符串函数数组函数手写一遍。要求跟上课将例子效果一样。$name=‘daxiong’;$new=Md5($name);Var_dump($new);//结果。。。。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功