我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP 中的 Lambda 函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP 中的 Lambda 函数

PHP 中的 Lambda 函数是匿名函数,可以存储在变量中或作为参数传递给其他函数。

closure 是一种 lambda 函数,应该知道它的周围环境,但不是每个 lambda 都是 closure

Lambda 需要一个临时函数,该函数将被使用一次。


在 PHP 中演示如何将 Lambda 函数作为参数传递


<?php
$demo_array=array(4,3,1,2,8,9,3,10,5,13);
//usort is a built-in PHP function to sort an array with a given condition.
usort($demo_array, function ($a, $b) {
    return ($a<$b)?-1:1;
});
// We passed an anonymous function that sorts the array in ascending order; this function is the lambda function.

foreach($demo_array as $val){
    echo $val;
    echo "<br>";
}
?>

usort() 是一个内置的 PHP 函数,它接受一个数组和一个函数作为参数;该函数应包含你要对数组进行排序的条件。

上面的代码尝试在给定的 lambda 函数的帮助下按升序对数组进行排序。

输出:


1
2
3
3
4
5
8
9
10
13

在 PHP 中演示如何的变量中存储 Lambda 函数

PHP 中 lambda 函数的其他功能可以存储在变量中。


<?php
$divide = function ($a, $b) {
    return $a / $b;
};
echo $divide(10, 2);
echo "<br>";
echo $divide(15, 2);
echo "<br>";
echo $divide(10, 3);
echo "<br>";
?>

上面的代码创建了一个 lambda 函数,可以将两个数字相除并将它们存储为变量。现在它可以在附近的任何地方用作变量。

输出:


5
7.5
3.3333333333333

PHP 中 LambdaClosure 函数之间的区别

每个 closure 函数都是 lambda 函数,但不是每个 lambda 都是 closure 函数。closure 函数需要了解其周围环境。


<?php
$range = range(10, 20);
//Print the squared number from 10-20 range - an example of lambda.
echo "The output for lambda function: <br>";
print_r(array_map(function($number){
    return $number**2;
}, $range));
echo "<br><br>";

$power = 2;
//Print a warning.
print_r(array_map(function($number){
    return $number**$power;
}, $range));
echo "<br><br>";

//Print the squared number from 10-20 range - an example of closure.
echo "The output for closure function: <br>";
print_r(array_map(function($number) use($power) {
    return $number**$power;
}, $range));
?>

第二个例子是我们试图通过一个变量对数字进行平方,但它不能;这就是 closure 函数的作用。

我们使用 use 关键字将变量传递给函数。现在,这个 lambda 函数是一个 closure 函数。

输出:


The output for lambda function:
Array ( [0] => 100 [1] => 121 [2] => 144 [3] => 169 [4] => 196 [5] => 225 [6] => 256 [7] => 289 [8] => 324 [9] => 361 [10] => 400 )

Notice: Undefined variable: power in C:\Apache24\htdocs\test.php on line 15
Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 1 [6] => 1 [7] => 1 [8] => 1 [9] => 1 [10] => 1 )

The output for closure function:
Array ( [0] => 100 [1] => 121 [2] => 144 [3] => 169 [4] => 196 [5] => 225 [6] => 256 [7] => 289 [8] => 324 [9] => 361 [10] => 400 ) 

middle 函数无法对数字进行平方,因为它无法识别外部变量。我们使用 use 关键字传递变量,然后 lambda 变成 closure 函数。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP 中的 Lambda 函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP 中的 Lambda 函数

PHP 中的 Lambda 函数是匿名函数,可以存储在变量中或作为参数传递给其他函数。closure 是一种 lambda 函数,应该知道它的周围环境,但不是每个 lambda 都是 closure。Lambda 需要一个临时函数,该函数将
PHP 中的 Lambda 函数
2024-02-27

Python 中的lambda函数介绍

在Python中,lambda函数是一种匿名函数,它是一种简化函数定义的方式。lambda函数可以在需要函数对象的任何地方使用,并且通常用于定义简短的、一次性的函数。lambda函数的语法如下:```pythonlambda argumen
2023-08-16

python中lambda函数用法

lambda 函数是 python 中一种匿名函数,允许定义一次性函数而不声明名称。其用法主要包括:作为回调、创建一次性函数、作为键或值进行排序或过滤。Python 中的 lambda 函数用法什么是 lambda 函数?lambda
python中lambda函数用法
2024-05-15

python中lambda函数怎么用

Python中lambda函数是一种匿名函数,也称为内联函数或者函数字面量。可以用来创建简单的、单行的函数,通常用于需要一个函数,但是只使用一次,不需要命名的情况。lambda 函数的基本语法为“lambda arguments: expr
python中lambda函数怎么用
2023-12-13

Python中的lambda函数有什么用

lambda函数是一种匿名函数,它可以在需要函数的地方使用,常用于简化代码和处理简单的函数操作。Lambda函数具有以下几个特点和用途:1. 简化代码:Lambda函数可以用于简化代码,特别是在需要编写一些简单的函数时,可以直接使用lamb
2023-08-17

C++中的Lambda函数怎么使用

这篇文章主要讲解了“C++中的Lambda函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中的Lambda函数怎么使用”吧!一 函数语法我们平时调用函数的时候,都是需要被调用
2023-06-22

python中的lambda函数如何使用

在Python中,lambda函数是一种匿名函数,可以在一行代码中定义函数,常用于简化代码。使用lambda函数的语法如下:```pythonlambda arguments: expression```其中,arguments是函数的参数
2023-09-05

Python之lambda函数

匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。语法:lambda [arg1 [,arg2,.....argn]]:expressio
2023-01-31

一文详解C++11中的lambda函数

小编可以明确告诉大家:lambda函数是C++11中最重要的,使用最广泛的,最具现代风格的内容,lambda函数的出现改变了C++编程的思维方式。所以快和小编学习一下C++11中lambda函数的使用吧
2023-02-07

python中lambda函数的作用是什么

lambda函数是一种匿名函数,它可以在不定义函数名称的情况下创建函数。lambda函数通常用于简单的、单行的函数定义,可以作为参数传递给其他函数或用于函数返回值。lambda函数的作用包括:1. 简化代码:lambda函数可以用于简化代码
2023-09-20

Python中lambda函数的用法是什么

在Python中,lambda函数是一种匿名函数,也称为lambda表达式。它只能包含一个表达式,并且返回该表达式的结果。lambda函数的语法格式如下:```lambda arguments: expression```其中,argume
2023-08-18

Python中怎么使用Lambda函数

这篇文章主要介绍了Python中怎么使用Lambda函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。引言Lambda 函数(也称为匿名函数)是函数式编程中的核心概念之一。支
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录