函数名:preg_filter()
适用版本:PHP 4 >= 4.0.5, PHP 5, PHP 7
函数描述:preg_filter()函数用于通过正则表达式搜索和替换数组中的元素。
语法:mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
参数:
- $pattern:要搜索的正则表达式模式。
- $replacement:用于替换匹配项的内容。可以是字符串或数组,如果是数组,则必须与$pattern和$subject的维度一致。
- $subject:要搜索和替换的数组。
- $limit:可选参数,设置替换的最大次数,默认为-1(无限制)。
- $count:可选参数,返回替换的次数。
返回值:返回一个已替换的数组,如果没有替换发生,则返回原始数组。
示例:
$pattern = '/[0-9]+/';
$replacement = '*';
$subject = array('apple', 'banana', '123', '456');
$result = preg_filter($pattern, $replacement, $subject);
print_r($result);
输出:
Array
(
[0] => apple
[1] => banana
[2] => *
[3] => *
)
在上面的示例中,我们使用正则表达式/[0-9]+/
来搜索数组中的数字,并用*
替换它们。最终的结果是将数组$subject
中的数字替换为*
,并返回一个新的数组$result
。
注意:preg_filter()函数会对数组进行原地修改,即直接在原始数组上进行替换操作。如果你希望保留原始数组,可以在调用函数之前先使用array_copy()函数创建一个副本。