Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:在中找不到闭包的基lambda函数_Php_Magento_Lambda - Fatal编程技术网

Php 致命错误:在中找不到闭包的基lambda函数

Php 致命错误:在中找不到闭包的基lambda函数,php,magento,lambda,Php,Magento,Lambda,我正在制作一个Magento-企业版。 我得到了一个致命错误: 当我将基于产品计数的过滤器属性的uasort函数应用于按产品计数排序时,在“过滤器中”中找不到闭包的基lambda函数 代码: 请在这方面帮助我。谢谢。Lambda函数在Magento中无法正常工作。以下是解决方案: 1) 将函数添加到某些帮助程序,例如扩展: protected static function _compare($a, $b){ return ($a->getCount() - $b->ge

我正在制作一个Magento-企业版。

我得到了一个致命错误:

当我将基于产品计数的过滤器属性的uasort函数应用于按产品计数排序时,在“过滤器中”中找不到闭包的基lambda函数

代码:



请在这方面帮助我。谢谢。

Lambda函数在Magento中无法正常工作。以下是解决方案:
1) 将函数添加到某些帮助程序,例如扩展:

protected static function _compare($a, $b){
    return ($a->getCount() - $b->getCount())* -1;
}
2) 使用下一种格式:

uasort($items, array('Your_Extension_Helper_Data', '_compare'));
即使启用了APC缓存,这也会起作用

另一个变体:将_compare函数添加到要使用uasort的当前文件中,在这种情况下,它将如下所示:

uasort($items, array($this, '_compare'));


您是否运行类似于
APC
的PHP缓存?当我阅读PHP错误跟踪器和这里的一些问题时,有时闭包确实存在缓存错误。请在测试时关闭apache
APC
缓存,此错误经常与来自APC缓存的写入问题有关。您是否有PHP 5.3.2(或更早版本)?
uasort($items, array($this, '_compare'));
uasort($items, array('Name_Of_Your_Class', '_compare'));