我正在尝试使用Zend_Filter_Interface来内爆数组。
这是我的简化测试用例。
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()的值作为数组传递?
答案 0 :(得分:1)
您的过滤器似乎没问题。问题出在Zend_Filter_Input
,它将数组中的值单独传递给过滤器和验证器。
有一个关于这个问题的讨论主题,以及一些可能的解决方法:http://zend-framework-community.634137.n4.nabble.com/Zend-Filter-Input-and-Arrays-td653511.html
希望有所帮助,