PHP удалить элемент из массива с помощью регулярного выражения - PullRequest
3 голосов
/ 30 мая 2019

у меня есть следующий массив

(
[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 голос
/ 30 мая 2019

Вы можете использовать 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...