gpt4 book ai didi

php - 在 php 中使用 callable

转载 作者:可可西里 更新时间:2023-10-31 23:06:53 36 4
gpt4 key购买 nike

我试图在下面的实现中模仿 php 的内置 usort 函数定义:

class heapSort {
static function hsort(array &$array, callable $cmp_function){
// logic
}
}

class utility{
static function mycomparator(){
// logic
}
}

$array = array(5,3,8,1);
$callback = array('utility','mycomparator');
heapSort::hsort($array, $callback);

虽然变量 $callback 是“可调用的”,但为什么我会遇到 fatal error ?

Argument 2 passed to heapSort::hsort() must be an instance of callable.

更具体地说,如何将 $variable 制作/类型转换为可调用?

最佳答案

callable 仅支持 PHP 5.4 尝试使用 is_callable

static function hsort(array &$array, $cmp_function) {
if (! is_callable($cmp_function))
throw new InvalidArgumentException("Function not callable");
}

关于php - 在 php 中使用 callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818301/

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