php笔记----第四章 函数
来源:互联网 发布:教师资格考试题库软件 编辑:程序博客网 时间:2024/05/23 22:10
一、自定义函数
function 函数名([形式参数1,形式参数2,....形式参数n]){
//各种PHP代码....
//......
return 表达式;//也可以不返回,如果不写那么默认返回null
}
函数的调用:
函数的调用需要遵循定义函数的时候写的规则,一一对应,将具体的实际参数传给定义函数时候写的形式参数!
调用函数之后执行的过程是相对独立的,互补干扰,默认没有联系!
执行完毕返回调用的位置继续向下执行
函数的返回值:
返回给调用者,默认返回null
函数比喻成我们现实生活中的 某个零件的制造部门!
参数:原材料或者是这个零件的一些具体的参数!
二、PHP变量的范围
1.局部变量
function test(){
$a=1;//局部变量$a,尽在这个函数内部有效
}
echo $a;
2.全局变量
$i=10;//全局变量(外部变量)
define('MY_NAME','翟浩浩');
function test(){
echo MY_NAME;
global $i;//声明$i为全局变量,然后再这个函数内部就可以使用$i
echo $i;
$a=1;
}
test();
3.静态变量
function test(){
static $a=10;//静态变量$a,初始化静态变量,尽在第一次调用的时候执行
echo ++$a;//当第二次执行这个函数的时候$a这个变量依然存在并且里面的也值依然存在!
}
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
三、参数的传递
1.按值传递参数
默认的,我们在传递参数的时候默认使用的就是这个方式!
对形式参数的操作,根本不是影响到实际参数(变量)的值,两者相当于没有联系!
2.按引用传递参数
按引用传递参数,相当于形式参数和实际参数指的是同一个人,只是名字不一样,对于形式参数的操作会直接影响到实际参数(变量);
3.函数的默认参数
可以给形式参数设置默认值,设置方法很简单直接赋值即可!
给形式参数加默认值的时候是重右往左加的,右边的必须有,才能够给左边的加!
4.可变长度参数列表
PHP提供给我们的,可以直接使用
func_get_args();
func_get_arg();
func_num_args();
这三个函数可以使用在我们的自定义函数内部,能够返回给我们一些关于参数的信息!
四、可变函数(变量函数)
直接把函数赋值给变量
可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。
需要使用自己的包装函数来将这些结构用作可变函数。
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。
可变函数可以用来实现包括回调函数,函数表在内的一些用途。
function foo() {
echo "In foo()<br />\n";
}
$func = 'foo';
$func(); // This calls foo()
五、递归函数
递归函数即在函数内部自己调用自己的函数。
递归函数:
1)函数在被调用的执行过程中会在内存里面分配空间用于存储临时数据,那么函数在执行过程中默认之间时没有联系的(除了
静态变量,按引用传,全局变量)。里面的变量默认都是局部变量,相互之间没有影响!
2)递归函数,在函数的内部需要有适时结束函数运行的条件!
六、内部(内置)函数
PHP提供给我我们许多现成的函数或者结构,我们可以在实际的开发中直接使用!
还有一些函数需要开启特定地 PHP 扩展模块,否则在使用它们的时候就会得到一个致命的“未定义函数”错误。
一些常用的内置函数或者扩展的函数,我们在后面会陆陆续续的学习到,一些不太常用的可能我们没有办法全部讲到,但是
你使用函数是用来完成功能的,说白了,你有这样的需求,才会去找对应的函数!
function 函数名([形式参数1,形式参数2,....形式参数n]){
//各种PHP代码....
//......
return 表达式;//也可以不返回,如果不写那么默认返回null
}
函数的调用:
函数的调用需要遵循定义函数的时候写的规则,一一对应,将具体的实际参数传给定义函数时候写的形式参数!
调用函数之后执行的过程是相对独立的,互补干扰,默认没有联系!
执行完毕返回调用的位置继续向下执行
函数的返回值:
返回给调用者,默认返回null
函数比喻成我们现实生活中的 某个零件的制造部门!
参数:原材料或者是这个零件的一些具体的参数!
二、PHP变量的范围
1.局部变量
function test(){
$a=1;//局部变量$a,尽在这个函数内部有效
}
echo $a;
2.全局变量
$i=10;//全局变量(外部变量)
define('MY_NAME','翟浩浩');
function test(){
echo MY_NAME;
global $i;//声明$i为全局变量,然后再这个函数内部就可以使用$i
echo $i;
$a=1;
}
test();
3.静态变量
function test(){
static $a=10;//静态变量$a,初始化静态变量,尽在第一次调用的时候执行
echo ++$a;//当第二次执行这个函数的时候$a这个变量依然存在并且里面的也值依然存在!
}
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
echo '<br />';
test();
三、参数的传递
1.按值传递参数
默认的,我们在传递参数的时候默认使用的就是这个方式!
对形式参数的操作,根本不是影响到实际参数(变量)的值,两者相当于没有联系!
2.按引用传递参数
按引用传递参数,相当于形式参数和实际参数指的是同一个人,只是名字不一样,对于形式参数的操作会直接影响到实际参数(变量);
3.函数的默认参数
可以给形式参数设置默认值,设置方法很简单直接赋值即可!
给形式参数加默认值的时候是重右往左加的,右边的必须有,才能够给左边的加!
4.可变长度参数列表
PHP提供给我们的,可以直接使用
func_get_args();
func_get_arg();
func_num_args();
这三个函数可以使用在我们的自定义函数内部,能够返回给我们一些关于参数的信息!
四、可变函数(变量函数)
直接把函数赋值给变量
可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。
需要使用自己的包装函数来将这些结构用作可变函数。
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。
可变函数可以用来实现包括回调函数,函数表在内的一些用途。
function foo() {
echo "In foo()<br />\n";
}
$func = 'foo';
$func(); // This calls foo()
五、递归函数
递归函数即在函数内部自己调用自己的函数。
递归函数:
1)函数在被调用的执行过程中会在内存里面分配空间用于存储临时数据,那么函数在执行过程中默认之间时没有联系的(除了
静态变量,按引用传,全局变量)。里面的变量默认都是局部变量,相互之间没有影响!
2)递归函数,在函数的内部需要有适时结束函数运行的条件!
六、内部(内置)函数
PHP提供给我我们许多现成的函数或者结构,我们可以在实际的开发中直接使用!
还有一些函数需要开启特定地 PHP 扩展模块,否则在使用它们的时候就会得到一个致命的“未定义函数”错误。
一些常用的内置函数或者扩展的函数,我们在后面会陆陆续续的学习到,一些不太常用的可能我们没有办法全部讲到,但是
你使用函数是用来完成功能的,说白了,你有这样的需求,才会去找对应的函数!
0 0
- php笔记----第四章 函数
- 《APUE》笔记-第四章-函数总结
- 【PHP自学笔记】第四章 PHP流程控制语句
- PHP学习笔记--第四章.获取数据
- 《PHP和MySQL WEB开发》第四章笔记
- php源码之路第四章第四节 (匿名函数及闭包)
- [李景山php] 深入理解PHP内核[读书笔记]--第四章:函数的实现 --函数间的转换
- [李景山php] 深入理解PHP内核[读书笔记]--第四章:函数的实现 --函数的定义
- [李景山php] 深入理解PHP内核[读书笔记]--第四章:函数的实现 --函数的参数-1
- [李景山php] 深入理解PHP内核[读书笔记]--第四章:函数的实现 --函数的参数
- [李景山php] 深入理解PHP内核[读书笔记]--第四章:函数的实现 --函数的返回值
- 【PHP自学笔记】第三章 PHP函数
- PHP 第四章
- 《C程序设计语言》笔记----第四章 函数与程序结构
- <寒江独钓>学习笔记 -- 第四章 Hook分发函数 过滤键盘输入
- 《JavaScript 语言精粹》 学习笔记 —— 第四章 函数
- 浅谈PHP第四谈---递归函数
- 浅谈PHP第四弹---递归函数
- 秒秒钟将逗号等分割符文件转换成XML和JSON
- 面向对象的三大特性?(java面试题)
- 测试-客户端性能测试(一)
- 1060. Are They Equal (25)
- EBOOT UBOOT的差异
- php笔记----第四章 函数
- 静态分析工具androguard
- POJ 1006 生物周期
- 网络部分整理第三部分(XML解析)
- spring security的csrf防御机制在ajax中的应用
- php笔记----第五章 数组
- UITabBarController图标改颜色
- 游戏:ATM机
- php笔记----第六章 字符串处理