我有一系列电话号码
[ '1234567', '98765423' ... ]
我希望先将自定义过滤器phone
应用于该过滤器,然后以JSON
格式呈现结果。
我试过
{{ numbersArray | phone | json_encode }}
但它给了我一个错误,因为它期待一个字符串而不是一个数组。
有没有办法让Twig将phone
过滤器应用于每个单独的数组项,然后将json_encode
应用于过滤后的数组?
答案 0 :(得分:1)
我似乎必须修改我的phone
过滤器以接受string
和array
:
$twig->getEnvironment()->addFilter(new \Twig_SimpleFilter('phone', function ($input) {
if( is_array($input) ){
$result = [];
foreach( $input as $number ) {
$result[] = formatNumber($number);
}
return $result;
}
return formatNumber($input);
}));