gpt4 book ai didi

php - 在 PHP 中将函数作为另一个函数的参数传递

转载 作者:行者123 更新时间:2023-12-04 16:44:49 24 4
gpt4 key购买 nike

我想将函数(不是结果)作为另一个函数的参数传递。假设我有

function double_fn($fn)

我想运行给定函数 ($fn) 两次。 PHP中有这样的机制吗?我知道你在 python 中函数是一种变量但是 PHP 类似吗?

@编辑有没有类似的使用方法?

function double_fn(parrot::sing())

最佳答案

从 5.3 开始,(注意)您可以很自然地使用闭包来执行此操作:

function double_fn(callable $fn)
{
$fn();
$fn();
}

double_fn(function() {
echo "hi";
});

(注意)仅从 5.4 开始类型提示

callable类型可以是一些东西:

  1. 一个包含要调用的函数名的字符串,
  2. 闭包(如上)
  3. 一个包含类(或实例)和要调用的方法的数组

上面的例子在手册中有解释。

更新

edit is there similar way to use methods?

function double_fn(parrot::sing())

这样做会将parrot::sing()结果 传递给函数;要将“引用”传递给您需要使用的静态方法:

double_fn('parrot::sing');
double_fn(['parrot', 'sing']);

关于php - 在 PHP 中将函数作为另一个函数的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338279/

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