细说php第八章笔记(不全)

8.1

函数的定义

函数是被命名的;

函数是独立的;

函数执行特定的任务;

函数可以用将一个返回值返回给调用他的程序

函数的优越性

提高程序的重用性

提高软件的可维护性

提高软件的开发效率

控制程序设计的复杂性

PS:以上真没看出来为什么,没什么用

8.2 自定义函数

8.2.1 函数的声明

函数的声明格式

function 参数([参数1,参数2, 。。。。参数n]){          函数体
          returne 返回值;
}

说明:

(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]){

          函数体
          returne 返回值;
}

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引用参数的类型

时间: 2024-10-16 07:18:14

细说php第八章笔记(不全)的相关文章

《Android深度探索》卷1 第八章笔记 1314 王宁

第八章 读书笔记 1.编译是由多个文件组成的Linux驱动(静态重用) 对于复杂的Linux驱动,需使用多个源代码文件存放不同的功能代码,这样有利于代码的分类与管理,那么必须编译多个源代码文件,最终生成.ko文件或编译进Linux内核 下面,就介绍将3个.c文件分别编译为3个.o文件,并将这3个.o文件链接(link)成一个.ko文件——静态重用 2.Linux驱动模块的依赖(动态重用) 在一个驱动模块里使用另一个驱动模块内被导出的符号,如常量.变量.函数等. 接下来学习了强行卸载linux驱动

Python 第八章笔记

第八章总结 8.5. heapq - 堆队列算法 有8个算法 方法 heappush heappop heappushpop heapreplace heapify merge nlargest nsmallest 最小堆封装 # 最小堆封装 from heapq import * import pprint class MinHeap: def __init__(self, iterable): self._iteralbe = [] self._max = 1000 self.linearp

Android LearningNotes

Skip to content PersonalOpen sourceBusinessExplore Sign upSign in PricingBlogSupport This repository Watch282 Star2,654 Fork968 GeniusVJR/LearningNotes CodeIssues 13Pull requests 0PulseGraphs Enjoy Learning. 201 commits 1 branch 0 releases 10 contrib

Python面向对象编程高级特性

***这里还是根据网上资料,主要是廖雪峰老师的教程学习的笔记,主要介绍python面向对象的高级特性,笔记不全,只是记录自己觉得容易出错的地方*** 1.python作为一种动态语言,他的动态绑定机制允许在运行过程中动态的给class或者对象实例添加方法和属性,这个在静态语言中比如java是很难做到的: 1)动态绑定属性: 2)动态绑定方法 给一个实例绑定的方法对于其他实例和类都是不可见的:(这里也说明给一个实例动态绑定方法必须用MethodType(func, instance)) 但是给类绑

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

Android群英传笔记--第八章:Activity与Activity调用栈分析 开篇,我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命周期和管理方式,是了解Android的基础,本节主讲 Activity的生命周期与工作模式 Activity调用栈管理 一.Activity Activity作为四大组建出现平率最高的组件,我们在哪里都能看到他,就让我们一起先来了解一下他的生命周期 1.起源 Activity是用户交互的第一接口,他

读书笔记2014第4本:程序员修炼之道-从小工到专家(第七、八章)

第七章 在项目开始之前 36 需求之坑不为收集需求,挖掘它们.有一种能深入了解用户需求,却未得到足够利用的技术:成为用户.与用户一同工作,以像用户一样思考.描述需求文档时,要使用项目术语表.用WEB来收集和管理需求. 37 解开不可能解开的谜题遇到不可能解决的问题时,退一步问问自己如下问题:1)有更容易的方法吗?2)你是在设法解决真正的问题,还是被外围的技术问题转移了注意力?3)这件事情为什么是一个问题?4)是什么使它如此难以解决?5)它必须以这种方式完成吗?6)它真的必须完成吗? 38 等你准

c++ primer 5th 笔记:第八章

第八章:IO库 笔记 1. c++语言不直接处理输入输出,而是通过一族定义在标准库中的类型来处理IO.这些类型支持从设备读取数据.向设备写入数据的IO操作,设备可以是文件.控制台窗口.内存等. 2. getline函数,从一个给定的istream读取一行数据,存入一个给定的string对象中.如: string line; // 每次读入一整行,直至到达文件末尾 while (getline(cin, line)) cout << line << endl; 3. 标准库使我们能忽

构建之法阅读笔记06-第八章用户需求

阅读笔记 第八章:需求分析 第八章的需求分析介绍了软件需求的类型.利益相关者,获取用户需求的常用方法和步骤,竞争性需求分析的框架NABCD以及项目计划和估计的技术. 在软件需求方面,可以从利益相关者那里,引导他们表达需求,从而获取.从用户那里获取了需求之后,需要分析和定义需求,也就是对需求进行规整,来定义一下需求的内容.下一步就要像用户去验证这些规整好的需求,看看是否满足用户的需要.另外在软件开发过程中也会对需求进行调整,来适应新的变化. 在对软件的需求方面,可以分为对产品功能性的需求,也就是要

Java 线程第三版 第八章 Thread与Collection Class 读书笔记

JDK1.2引入最有争议性的改变是将集合类默认为不是Thread安全性的. 一.Collection Class的概述 1. 具有Threadsafe 的Collection Class: java.util.Vector(List) 列表集合,通过索引操作. java.util.Stack(List) 继承自Vector,提供LIFO的顺序操作push进入,pop出元素. java.util.Hashtable(Map) 一个简单.无序的key与value的映射. java.util.conc