8.1
函数的定义
     函数是被命名的;
     函数是独立的;
     函数执行特定的任务;
     函数可以用将一个返回值返回给调用他的程序
函数的优越性
     提高程序的重用性
     提高软件的可维护性
     提高软件的开发效率
     控制程序设计的复杂性
     PS:以上真没看出来为什么,没什么用
 
8.2 自定义函数
8.2.1 函数的声明
函数的声明格式
  1. function 参数([参数1,参数2 。。。。参数n]){
    函数体
  2. returne 返回值;
  3. }
 
 
说明:
     (1)每个函数的第一行都是函数头,有声明函数的关键字function、函数名和参数列表组成
     (2)每个自定义函数都必须使用”function“关键字声明
     (3)函数名可以代表着整个函数,函数的命名遵循变量命名规则即可。          
             php不允许使用函数重载,故不能定意重名函数,最好给函数指定一个描述其功能的名称
     (4)声明函数时函数名后的括号必须有。
     (5)函数体位于函数头之后用花括号括起来
     (6)使用关键字return 返回一个值
8.2.2函数的调用
函数只有在被调用是才会执行
 
函数名称的作用
     1.听过函数名调用函数
     2.如果函数有参数,则通过函数名后的小括号
      3.有函数当返回值,当函数执行完。return后面的值返回到调用函数的位置,这样可以把函数名称当作返回值使用
             
8.2.3函数的参数
参数列表是由另个、一个或多个参数组成每个参数都是表达式,用都好分隔。
对于有参数,在php中和被调用函数之间有传递关系。
 
形参:定义函数时函数名后的表达式
实参:被调用后函数名后面中的表达式(易混淆)
 
8.2.4函数的返回值
调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键return向调用者差传递的数据
 
return的作用:
     return语句可以向函数调用者返回函数体的任意确定的值;
     将程序控制权返回到调用者的作用域,即退出函数。如果在函数替中执行了return语句,后面的语句将不会执行
 
8.3函数的工作原理和结构化编程
结构化编程的卓越之处
     结构化程序更容易编程。复杂的问题简单化
     结构化的程序更容易调试
 
8.4php变量的范围
变量的范围也就是它的生效范围。
变量依据声明的位置可分为局部变量和全局变量
 
8.4.1局部变量
局部变量也称为内部变量,是在函数内部声明,其作用域仅限于函数内部,离开该函数后使用这种变量是非法的。
 
8.4.2全局变量
全局变量也称为外部变量实在函数外部定义的,它的作用域为从变量定义出开始,到本程序文件的末尾。
php中由于函数可以视为单独的程序片段,所以局部变量的能见度,因此在函数无法直接使用全局变量
函数中若要使用全局变量有两种方法:
     利用global关键字定义目标变量以告诉函数主体词变量为全局变量
     用特殊的php自定义$GLOBALS数组
 
8.4.3静态变量
局部变量从存储方式可分为动态存储类型和静态存储类型。如果变量不声明为static存储类别,则默认为动态地非配存储空间。
静态变量:但函数结束后内部变量依然保存在内存中
 function 参数([参数1,参数2, 。。。。参数n]){
  1. 函数体
  2. returne 返回值;
  3. }
8.5声明应用各种形式的php函数
8.5.1常规参数的函数
格式:
 

 
string example(string name, int age, double height)

 
 
8.5.2伪类型参数函数(看不懂)
格式:

 
mixed funNamemixed $arhs)
mixed funName (nunmber $args )

 
 
8.5.3引用参数的类型

细说php第八章笔记(初稿)的更多相关文章

  1. C#语言和SQL Server第八章笔记

    一:                                                                                                   ...

  2. Python 第八章笔记

    第八章总结 8.5. heapq - 堆队列算法 有8个算法 方法 heappush heappop heappushpop heapreplace heapify merge nlargest ns ...

  3. 细说php2[正则表达式学习笔记]

    <细说php>这本书应该是每个php程序员入门的必读书籍,里面讲的很多知识都很系统和详细,看了正则这部分,并练习了里面的案例,发现自己已经会了很多.... header('Content- ...

  4. 《Python编程:从入门到实践》第十八章笔记:Django最基本用法笔记

    最近在看Python编程:从入门到实践,这是这本书"项目3 Web应用程序"第18章的笔记.记录了django最基本的一些日常用法,以便自己查阅. 可能是我的这本书版本比较老,书上 ...

  5. ANDROID学习书单

    Skip to content PersonalOpen sourceBusinessExplore Sign upSign in PricingBlogSupport   This reposito ...

  6. Android技能树

    第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Android性能优化ListView详解RecyclerView和ListView的异 ...

  7. 小梵同学 GO!

    刘德翠 1. Vue.js实战读书笔记(1) 2.Vue.js实战读书笔记--计算属性 3. Vue.js实战读书笔记--v-bind及class与style绑定 4. Vue.js实战读书笔记--内 ...

  8. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  9. Android群英传笔记——第八章:Activity与Activity调用栈分析

    Android群英传笔记--第八章:Activity与Activity调用栈分析 开篇,我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命 ...

随机推荐

  1. [POJ1741] Tree【树分治 点分治】

    传送门:http://poj.org/problem?id=1741 写的第一道树分治题,撒花纪念~ 对于每一对点对(i, j),它有三种情况: ① 其中一个是根节点.这种情况比较简单,直接加上就好了 ...

  2. Latex新人教程

    1.LaTeX软件的安装和使用 方法A(自助):在MikTeX的官网下载免费的MikTeX编译包并安装.下载WinEdt(收费)或TexMaker(免费)等编辑界面软件并安装. 方法B(打包):在ct ...

  3. 51nod1183 编辑距离

    1183 编辑距离 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个 ...

  4. 转-iOS开发系列--地图与定位

    来自: http://www.cnblogs.com/kenshincui/p/4125570.html#autoid-3-4-0 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功 ...

  5. 转 SQLPLUS中SQL换行执行

    权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下,在SQLPLUS中输入命令时,可以换行,但不能有空格,否则不能执行,会直接返回到SQL>下.但通过命令设置可以实现语句换行时允许有 ...

  6. Rsync 12种故障排查及思路

    Rsync 故障排查整理 Rsync服务常见问题汇总讲解: ====================================================================== ...

  7. CentOS系统里如何正确取消或者延长屏幕保护自动锁屏功能(图文详解)

    不多说,直接上干货! 对于我这里想说的是,分别从CentOS6.X  和  CentOS7.X来谈及. 1. 问题:默认启动屏幕保护 问题描述: CentOS系统在用户闲置一段时间(默认为5分钟)后, ...

  8. 工作记录 angular页面操作 MD5加密

    今天只是做页面,基于angularjs,有美工做的图打底,确实好用 密码保存,用到了C# MD5加密: https://www.cnblogs.com/healer007/p/5062189.html

  9. WPF学习07:MVVM 预备知识之数据绑定

    MVVM是一种模式,而WPF的数据绑定机制是一种WPF内建的功能集,两者是不相关的. 但是,借助WPF各种内建功能集,如数据绑定.命令.数据模板,我们可以高效的在WPF上实现MVVM.因此,我们需要对 ...

  10. Spark学习之Spark调优与调试(7)

    Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. ...