一,初识函数
- 函数是封装一段用于完成特定功能的代码
- 当使用一个函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能
- 函数的定义由以下4部分组成:
- 关键字function
- 函数名
- 参数
- 函数体
- function:在声明函数时必须使用的关键字
- 函数名:要符合PHP的标识符,且函数名是唯一的,不区分大小写
- [参数1, 参数2…]:外界传递给函数的值,它是可选的,多个参数之间使用逗号“,”分隔。
- 函数体:函数定义的主体,专门用于实现特定功能的代码段。
- 返回值:需要使用return关键字将需要返回的数据传递给调用者。
二、参数设置
1,(无参函数)对于函数来说,参数的不同设置,决定了其调用和使用方式。
function shout()
{
return 'come on';
}
echo shout();// 输出结果:come on
2,(按值传递函数)PHP默认支持按值传递参数,按此种方式定义的函数,在函数内部可以随意对用户传递的参数进行操作。
// 方式一
echo add(5, 7);
// 方式二
$x = 5;
$y = 7;
echo add($x, $y);
function add($a, $b)
{
$a = $a + $b;
return $a;
}
3,(引用传参)在开发中,若需要函数修改它的参数值,则需通过函数参数的引用传递。实现方式只需在参数前添加“&”符号即可。
$var = 'food';
extra($var);
// 输出结果:food and some extra
echo $var;
function extra(&$str)
{
$str .= ' and some extra';
}
4,(设置参数默认值)函数参数在设置时,还可以为其指定默认值,也就是可选参数。当调用者未传递该参数时,函数将使用默认值进行操作。
function say($p, $con = 'say "Hello"')
{
return "$p $con";
}
// 输出结果:Tom say "Hello"
echo say('Tom');
5,(指定参数类型(弱))在PHP 7.0及以上的版本后,在自定义函数时,可以指定参数具体是哪种数据类型。
function sum1(int $a, int $b)
{
return $a + $b;
}
echo sum1(2.6, 3.8); // 输出结果:5
除此之外,还可以将其设置为强类型的参数,即当用户传递的参数类型不符合函数的定义,程序会报错提醒。
declare(strict_types = 1);
function sum2(int $a, int $b)
{
return $a + $b;
}
echo sum2(2.6, 3.8); // 输出结果:Fatal error: ......
三,变量的作用域
- 变量只有在其作用范围内才可以被使用,这个作用范围称为变量的作用域。
- 在函数中定义的变量称为局部变量
- 在函数外定义的变量称为全局变量
function test()
{
$sum = 36; // 局部变量
return $sum;
}
$sum = 0; // 全局变量
echo test(); // 输出结果:36
echo $sum; // 输出结果:0