PHP函数学习小结
程序员文章站
2022-03-06 17:55:51
...
函数
1. 语法
函数是实现代码复用的重要方式,在所有编程语言中均如此
function 函数名称(类型: 参数列表): 返回值类型
{
// 函数体
return 返回值;
}
序号 | 名称 | 描述 |
---|---|---|
1 | function |
声明函数 |
2 | 函数名称 |
符合 PHP 标识符命名规范,不区分大小写 |
2 | 参数列表 |
零个或多个接收外部传入到函数的变量 |
2 | {... |
创建出一个封闭的函数作用域 |
2 | 函数体 |
由零个可多个合法的 PHP 语句组成 |
2 | return 值 |
将执行结果返回函数调用者[可选] |
2 | ...} |
函数执行结束,如果没有return ,则返回null
|
2. 类型
序号 | 类型 | 语法 | 描述 |
---|---|---|---|
1 | 自定义函数 | function getName(){...} |
用户根据业务需求创建 |
2 | 系统函数 | substr(), count()... |
也叫预定义函数,不必声明直接调用 |
3 | 可变函数 | $funcName(); |
函数名使用变量表示 |
4 | 匿名函数 | $f = function (){...} |
也叫”闭包”或”函数表达式”,常用做回调处理 |
示例:2.1自定义函数
<?php
function sun($a,$b)
{
$num = $a + $b;
return $num;
}
echo sun(5,8);
?>
2.2系统函数
<?php
echo substr("Hello world",6);
?>
2.3可变函数
<?php
class Foo
{
function Variable()
{
$name = 'Bar';
$this->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // This calls $foo->Variable()
2.4匿名函数
<?php
$n=1;
$test1 = function($value)use ($n)
{
echo $value.' and '.$n;
};
$test1('HelloWorld');
?>
3. 返回值
- 函数必须要有返回值
- 函数必须是遵守单值返回原则
序号 | 场景 | 描述 |
---|---|---|
1 | return |
可以返回任何类型的值,包括函数类型 |
2 | 无return
|
遇到} 也会返回, 默认返回null
|
- 如果需要返回多个值,可以通过以下手段
序号 | 返回值类型 | 描述 |
---|---|---|
1 | string |
字符串拼接 |
2 | array |
数组 |
3 | json |
JSON 字符串 |
4 | serialize |
序列化字符串 |
json 和序列化,使用时需要进行解码操作
示例
<?php
function small_numbers(){
return array(0, 1, 2);
}
list($zero, $one, $two) = small_numbers();
echo $zero . $one . $two;
?>
4. 参数
- 调用者可以通过参数将数据传递到函数中
- 参数是以逗号分隔的表达式列表
- 参数按照从左到右的顺序求值
参数类型
序号 | 类型 | 描述 |
---|---|---|
1 | 值参数 | 默认传参方式 |
2 | 引用参数 | 改变原始调用参数值 |
3 | 默认参数 | 调用时允许省略的参数 |
4 | 剩余参数 | 调用参数数量不确定 |
示例:4.1值参数
function test($name,$age){
echo '姓名:'.$name,' 年纪:'.$age;
}
test('weixin',23); // 姓名:weixin 年纪:23
test($name='weixin',$age=23); // 姓名:weixin 年纪:23
4.2引用参数
<?php
function test($a){
$a = 200; // 函数中改变参数值为200
}
$b = 100; // 父程序中声明一个全局变量$b并给一个初始值100
test($b); // 调用test函数 将100传给函数的参数
echo $b; // 输出100 $b的值没变化
?>
4.3默认参数
<?php
//自定义一个函数person,用于打印一个人的属性
function person($name="张三", $age=20, $sex="男"){
echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
}
person(); //全部使用默认参数
person("李四"); //第一个默认参数被覆盖,后面两个参数为默认
person("李四",22); //前两个默认参数被覆盖,后面一个参数为默认
person("李四",22,"女"); //三个默认参数都被覆盖
?>
4.4剩余参数
<?php
// 剩余参数:可变长参数
function sum3($a,$b,...$c){
return $a+$b+array_sum($c);
};
echo sum3(5,5,10,10,10),'<hr>';
总结:
今天讲的是函数的四种类型,函数的四种返回值和函数的四种参数。感觉还是有点头大。如果全都掌握,我认为还是有一定的难度的,所以,还是多加练习加强记忆。
上一篇: mysql 统计函数和group by
下一篇: css-flex布局属性知识小结