函数

如何声明函数
function 函数名(形参){
函数体/代码块
return 返回值
}
使用关键字 function 来声明函数,定义函数
函数名
必须以数字/字母/下划线组成,不能以数字开头.不区分大小写
函数不能重复定义,不能使用已经定义过的函数名或系统函数名
参数列表
给函数传递相应的值.
参数可为空,可能为1个/多个
多个参数使用逗号分割
参数可分为:
形参
形式上的参数,在函数定义时写在函数名后面括号里的参数.
在函数中要用到的参数(变量),写在形参列表里
形参可以有默认值,可以没有
有默认值的往右放
实参
实际的参数,在调用函数时,写在函数名后面括号里的参数
实际调用时使用的参数.
有默认值的参数可以省略.无默认值的必须传递
多余的实参会被忽略
实参要安照对应顺序传递

 

函数体
任何有效的php代码
返回值
1.用关键 return 来定义返回值
2.函数没有返回值 返回null
3.return 之后的代码都不被执行,return 就相当于退出了函数

return 和 echo的区别
表面看似都是一样的输出结果
实际上echo 是输出的过程,它自己把执行语句输出到页面上,毛都没有给你
而return 将执行完的结果返回给你.用不用怎么用有你来决定

 

/*
变量的生效范围
根据声明的位置可分为两种:
局部变量
在函数内部声明变量就是局部变量
内部变量/私有变量
函数执行完以后,局部变量会被释放掉
全局变量
在函数外声明的变量就是全局变量
外部变量/公有变量

全局变量和局部变量
函数外部不能直接使用局部变量
函数内部不能直接使用全局变量
*/
$c = 50;

function sum($p){
$b = 10;
var_dump($c);
var_dump(isset($b));
echo $p + $b;
}

sum(6);

echo $b;

 

/*
静态变量
局部变量从存储的方式上可分为:
动态存储变量
动态变量就是函数执行完之后会被释放掉
静态存储变量
函数执行完以后不会被自动施放掉,而是在该函数一次或多次调用之间共享其值
使用static来标识局部变量,使其成为静态变量
*/

function test(){
static $a = 0;
$b = 0;
$a++;
$b++;
echo $a.'-------'.$b.'<br>';
}

test();
test();
test();
test();
test();
var_dump($a);//报错 未定义的全局变量

posted @ 2018-08-16 15:40  付俊捷  阅读(88)  评论(0编辑  收藏  举报