gpt4 book ai didi

php - 如何访问封闭函数的变量?

转载 作者:可可西里 更新时间:2023-11-01 00:16:57 25 4
gpt4 key购买 nike

我在另一个函数中使用回调函数,我需要从这个封闭函数访问一个变量,但不知道该怎么做。这是一个例子:

function outer($flag)
{
$values = array(1, 5, 3, 9);

usort($values, function($a, $b)
{
if ($flag)
{
// Sort values in some way
}
else
{
// Sort values in some other way
}
});
}

所以我将一些标志传递给外部函数,然后在排序回调函数中使用它来决定如何对值进行排序。是的,我知道我可以检查外部函数中的标志,然后调用不同的排序函数,但这不是问题所在。

问题很简单,我如何在回调中访问外部函数的变量(或参数)。使用全局变量不是一种选择。如果确实没有办法,“这不可能”的回答也是可以接受的。

最佳答案

use 关键字。它使变量的当前值在函数中可用。

function outer($flag)
{
$values = array(1, 5, 3, 9);

usort($values, function($a, $b) use ($flag)
{
if ($flag)
{
// Sort values in some way
}
else
{
// Sort values in some other way
}
});
}

关于php - 如何访问封闭函数的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742246/

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