php之函数,匿名函数与回调函数
16lz
2021-04-30
代码块
<?php
/**
* 函数的返回值和参数
*/
//$a,$b为形参
//int前两个为类型声明,后一个为返回类型声明
function test(int $a,int $b):int
{
//$a+$b为返回值
return $a+$b;
}
//1,2为实参
echo test(1,2);
echo "<hr>";
//array_sum()
//计算数组的所有值之和,返回值是值之和
function test2(...$arr){
return array_sum($arr);
}
//...$arr可以收集参数成一个数组,剩余参数可用于pdo数据库连接
echo test2(1,2);
/**
* 回调函数与匿名函数
*/
function demo2(){
//匿名类
return new class
{
public $name = 123;
};
}
$user = demo2();
echo "<hr>";
echo $user->name;
echo "<hr>";
//匿名函数
$a = 333;
//通过use可以访问函数外部的自由变量
//闭包要改变上下文的值,需要引用传递
$closure = function ($name) use (&$a)
{
echo $name.$a."<br>";
$a = $name;
};
//匿名函数不能在前面调用
$closure('hello');
echo $a;
echo "<hr>";
//闭包经常作为函数的返回值
function demo1($q) {
return function ($w) use($q) {
return $q+$w;
};
}
echo demo1(1)(2);
效果
更多相关文章
- 读深度学习《深度学习简介》
- Laravel 添加自定义函数
- 文件下载函数
- 【php基础入门】细说php的变量以及常量的知识点详解
- 函数编写2的平方的阶乘加3的平方的阶乘
- [源码分析] 从FlatMap用法到Flink的内部实现
- [白话解析] 用水浒传为例学习条件随机场
- [白话解析] 深入浅出支持向量机(SVM)之核函数
- [白话解析] 通俗解析集成学习之GBDT