使用正则表达式从 PHP 数组中移除元素

3

i have the following array

(
[0] => DHL - 4857998880
[1] => DHL - 4858005666
[2] => COA - 485344322
)

我想循环遍历数组,如果找到DHL,则希望将其从数组中删除。 DHL前面的数字不重要。 我要删除具有DHL前缀的任何元素。
我已创建以下正则表达式以忽略前面的数字,但不确定如何继续进行处理。
foreach($result as $valDHL) {

   $s = preg_replace("/[^a-z-]/i", "", $valDHL);

}
1个回答

1
你可以使用 array_filter 函数来过滤掉数组中以 DHL 开头的条目,使用正则表达式 ^DHL 来判断条目是否以 DHL 开头。
$array = array(
0 => 'DHL - 4857998880',
1 => 'DHL - 4858005666',
2 => 'COA - 485344322'
);
$array = array_filter($array, function ($v) { return !preg_match('/^DHL/', $v); });
print_r($array);

输出:

Array (
  [2] => COA - 485344322 
)

在3v4l.org上的示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接