在php中使用callable
发布时间:2020-12-13 17:15:57 所属栏目:PHP教程 来源:网络整理
导读:我试图在下面的实现中模仿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('u
我试图在下面的实现中模仿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是“可调用的”,但为什么我会遇到致命错误?
更具体地说,如何使$变量可以调用/类型化? 解决方法
只支持PHP 5.4,尝试使用is_callable
static function hsort(array &$array,$cmp_function) { if (! is_callable($cmp_function)) throw new InvalidArgumentException("Function not callable"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |