gpt4 book ai didi

php - 了解匿名函数 PHP

转载 作者:可可西里 更新时间:2023-11-01 13:14:19 25 4
gpt4 key购买 nike

我一直在学习使用 php 进行 Web 开发,我对匿名函数有点困惑。特别是关于参数的传递以及它们如何在这样的函数中工作。比如在代码中

$array = array("really long string here, boy", "this", "middling length", "larger");
usort($array, function($a, $b) {
return strlen($a) - strlen($b);
});
print_r($array);

我真的不明白参数 $a$b 是如何使用的。我认为将它们用于比较是为了对数组进行排序,其中定义了函数应该如何使用它们并从中获取它们?
在下一个代码中

$mult = function($x)
{
return $x * 5;
};
echo $mult(2);

我知道参数是直接传给函数,用来返回乘法的结果。
在这个post的例子

$arr = range(0, 10);
$arr_even = array_filter($arr, function($val) { return $val % 2 == 0; });
$arr_square = array_map(function($val) { return $val * $val; }, $arr);

变量$val取自哪里?

我知道也许这并不像看起来那么复杂,但我真的很困惑在这种函数上使用参数

最佳答案

usort($array, function($a, $b) {
return strlen($a) - strlen($b);
});

让我们举个例子。当您将函数传递给 usort() 时,PHP 在内部 使用数组中的 2 个元素调用它,以查看哪个更大/更小。

$a$b 值来自 inside usort() 函数。它的代码使用 2 个参数调用提供的函数。您的参数不需要命名为 $a$b,您可以随意命名它们。

关于php - 了解匿名函数 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com