Zend framework 将数组作为值传递给Zend_筛选器

Zend framework 将数组作为值传递给Zend_筛选器,zend-framework,Zend Framework,我试图使用Zend_Filter_接口来内爆一个数组 这是我的简化测试用例 class My_Filter_Implode implements Zend_Filter_Interface { public function filter($value) { return implode(',', $value); } } 输入将是一个数组 $rawInput = array('items' => array('a', 'b', 'c')); $

我试图使用Zend_Filter_接口来内爆一个数组

这是我的简化测试用例

class My_Filter_Implode implements Zend_Filter_Interface
{
    public function filter($value)
    {
        return implode(',', $value);
    }
}
输入将是一个数组

$rawInput = array('items' => array('a', 'b', 'c'));

$validators = array(
    'items' => array()
)

$filters = array(
    'items' => 'Implode'
);

$filterInput = new Zend_Filter_Input($filters, $validators, $rawInput, $options);

我希望过滤器将数组('a','b','c')转换为字符串'a,b,c'。而是将筛选器应用于数组中的每个项。传递给filter()的值如何作为数组传递?

您的筛选器似乎正常。问题在于
Zend_Filter_Input
,它将数组中的值分别传递给过滤器和验证器

这里有一个关于此问题的讨论线程,以及一些可能的解决方法:


希望这有帮助,

它有帮助,谢谢。很遗憾,Traversearlay装饰器的ZF补丁从未发布。