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

时间:2019-05-30 02:19:03

标签: php arrays nsregularexpression

我有以下数组

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

我想遍历数组,如果找到DHL,那么我想从数组中删除。 DHL前面的数字并不重要。我想从数组中删除任何前面带有DHL的元素。

我创建了以下正则表达式以忽略前面的数字,但不确定如何从前面向前移动。

foreach($result as $valDHL) {

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

}

1 个答案:

答案 0 :(得分:1)

您可以使用array_filter删除数组中以DHL开头的条目,并使用正则表达式^DHL来查看条目是否以DHL开头:< / p>

$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 
)

Demo on 3v4l.org