正则表达式为PHP数组的每个项添加一个后缀

时间:2017-03-09 09:43:26

标签: php arrays regex

我有一个PHP字符串数组,我想用字符后缀。在正则表达式下面添加每个数组元素的前缀:

$prefixed_array = preg_filter('/^/', 'prefix_', $array);

但是,我需要添加后缀。

基本上我想从此开始:

$array = ["a", "b", "c", "d", "f"];

对此:

$array = ["a_M", "b_M", "c_M", "d_M", "f_M"];

我可以使用foreach执行此操作,但需要定期表达(Just Regex)。

2 个答案:

答案 0 :(得分:4)

如果您想将preg_filter与正则表达式一起使用,请将^替换为$(字符串的结尾)(或\z - 最后一个字符串):

$array = ["a", "b", "c", "d", "f"];
$suffixed_array = preg_filter('/$/', '_M', $array);
print_r($suffixed_array);

请参阅PHP demo

非正则表达方式是使用array_map,如下所示:

$suffixed_array = array_map(function ($s) {return $s . '_M';}, $array);

请参阅this PHP demo

答案 1 :(得分:0)

使用array_map

的其他方法
$array = ["a", "b", "c", "d", "f"];

$array = array_map(function($k) {
    return $k . '_M';
}, $array);

print_r($array);